我今天观察到这个问题,其中 BigQuery 向流式插入请求返回了 DEADLINE_EXCEEDED 异常。错误响应如下:
{"insertErrors":[{"errors":[{"debugInfo":"bigtable::Deadline missed:/BTI_TabletServer.Apply to 10.73.63.65:25806 : DEADLINE_EXCEEDED","location":"""message":"","reason":"timeout"}],"index":5},{"errors":[{"debugInfo":"bigtable::Deadline missed:/BTI_TabletServer.适用于10.73。 63.65:25806 : DEADLINE_EXCEEDED","location":"","message":"","reason":"timeout"}],"index":6}],"kind":"bigquery#tableDataInsertAllResponse"
即使在 3 - 4 次重试尝试后我仍收到此错误。我尝试插入的行数约为 100,每行的大小非常小(小于 10kB)。谁能告诉我这是否是客户端问题?
最佳答案
BigQuery 的 SLA 为 99.99%。它不是 100%(就像所有其他云/服务一样)。这意味着你会时不时地遇到这样的暂时性错误——尤其是在流媒体上。因此,您需要在您的应用程序/代码/设计中考虑这一点,并使用指数退避重试技术以及您在其他地方使用和处理的某种队列(例如 Pub/Sub、SQS)。
关于java - BigQuery 插入请求的 DEADLINE_EXCEEDED 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46460816/