BigQuery Streaming API 经常引发 503 错误
Posted
技术标签:
【中文标题】BigQuery Streaming API 经常引发 503 错误【英文标题】:Frequent 503 errors raised from BigQuery Streaming API 【发布时间】:2014-03-18 00:30:21 【问题描述】:由于以下错误,将数据流式传输到 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)
相关问题参考:
Getting high rate of 503 errors with BigQuery Streaming API BigQuery - BackEnd error when loading from JAVA API【问题讨论】:
@JordanTigani 你能检查这三个吗? 你能提供你的项目ID吗? 嗨,乔丹。我们的项目 id 是 gdfp-7414。今天我们的负载再次遇到同样的错误 - “503:连接错误。请重试。”。现在每天都在发生这种情况。上周还好。 【参考方案1】:我们(BigQuery 团队)正在调查您关于连接错误增加的报告。从内部监测来看,最近几天没有出现全球性的连接错误高峰。但是,这并不意味着您的表格没有受到影响。
连接错误可能很难追踪,因为它们可能是在到达 BigQuery 服务器之前或离开之后由错误引起的。您提供的信息越多,我们就越容易诊断问题。
流式输入的最佳做法是处理此类临时错误以重试请求。这可能有点棘手,因为当您收到连接错误时,您实际上并不知道插入是否成功。如果您在数据中包含唯一的insertId
(请参阅文档here),您可以安全地重新发送请求(在重复数据删除窗口期内,我认为是 15 分钟),而不必担心同一行会被添加多个次。
【讨论】:
谢谢乔丹。完全理解这些类型的错误很难追踪。但是,在我们为 503 构建错误处理(可能需要几天时间来实施和部署到我们的应用程序服务器)之前,是否有任何其他信息可以让您尝试并帮助您找到/解决这个问题?问题是我们每天都有一个 BigQuery 负载,它为我们的业务提供报告解决方案,并且自 16 日星期日以来我们一直无法成功更新 BigQuery。以上是关于BigQuery Streaming API 经常引发 503 错误的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 BigQuery Streaming 获取插入的行数
如果我在流式传输之前先删除表并创建表,Google BigQuery Streaming 有时会失败