从BigQuery Streaming API引发的频繁503错误

时间:2014-03-18 00:30:21

标签: google-bigquery

将数据流式传输到BigQuery会因以下错误而失败,这种错误最近更频繁发生:

com.google.api.client.googleapis.json.GoogleJsonResponseException: 503 Service Unavailable
{
  "code" : 503,
  "errors" : [ {
    "domain" : "global",
    "message" : "Connection error. Please try again.",
    "reason" : "backendError"
  } ],
  "message" : "Connection error. Please try again."
}
        at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:145)
        at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
        at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
        at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:312)
        at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1049)
        at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:410)
        at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:343)

相关问题参考:

1 个答案:

答案 0 :(得分:2)

我们(BigQuery团队)正在调查您的连接错误增加的报告。从内部监控来看,过去几天连接错误并未出现全球性的飙升。但是,这并不意味着您的表格,特别是不受影响。

连接错误可能很难追查,因为它们可能是在错误到达BigQuery服务器之前或者在它们离开之后由错误引起的。您可以提供的信息越多,我们就越容易诊断问题。

流式输入的最佳做法是处理此类临时错误以重试请求。这可能有点棘手,因为当您收到连接错误时,您实际上并不知道插入是否成功。如果您在数据中包含唯一的insertId(请参阅文档here),则可以安全地重新发送请求(在重复数据删除窗口期间,我认为这是15分钟),而不必担心同一行将多次添加。