0
今晚我的一個批處理作業失敗,出現運行時異常。它將數據寫入數據存儲區,就像今天晚上運行的其他200個作業一樣。這一次失敗的原因很長,其根源應該是這樣的:Google Dataflow將不足的數據寫入數據存儲區
Caused by: com.google.datastore.v1.client.DatastoreException: I/O error, code=UNAVAILABLE
at com.google.datastore.v1.client.RemoteRpc.makeException(RemoteRpc.java:126)
at com.google.datastore.v1.client.RemoteRpc.call(RemoteRpc.java:95)
at com.google.datastore.v1.client.Datastore.commit(Datastore.java:84)
at com.google.cloud.dataflow.sdk.io.datastore.DatastoreV1$DatastoreWriterFn.flushBatch(DatastoreV1.java:925)
at com.google.cloud.dataflow.sdk.io.datastore.DatastoreV1$DatastoreWriterFn.processElement(DatastoreV1.java:892)
Caused by: java.io.IOException: insufficient data written
at sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.close(HttpURLConnection.java:3501)
at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:81)
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:981)
at com.google.datastore.v1.client.RemoteRpc.call(RemoteRpc.java:87)
at com.google.datastore.v1.client.Datastore.commit(Datastore.java:84)
at com.google.cloud.dataflow.sdk.io.datastore.DatastoreV1$DatastoreWriterFn.flushBatch(DatastoreV1.java:925)
at com.google.cloud.dataflow.sdk.io.datastore.DatastoreV1$DatastoreWriterFn.processElement(DatastoreV1.java:892)
at com.google.cloud.dataflow.sdk.util.SimpleDoFnRunner.invokeProcessElement(SimpleDoFnRunner.java:49)
at com.google.cloud.dataflow.sdk.util.DoFnRunnerBase.processElement(DoFnRunnerBase.java:139)
at com.google.cloud.dataflow.sdk.runners.worker.SimpleParDoFn.processElement(SimpleParDoFn.java:188)
at com.google.cloud.dataflow.sdk.runners.worker.ForwardingParDoFn.processElement(ForwardingParDoFn.java:42)
at com.google.cloud.dataflow.sdk.runners.
這是怎麼發生的?這與我運行的所有其他工作非常相似。我使用的是數據流,版本1.9.0和標準DatastoreIO.v1()寫....
與此錯誤消息的jobIds:
2017-08-29_17_05_19-6961364220840664744
2017-08-29_16_40_46-15665765683196208095
是否有可能檢索錯誤/從外部應用程序作業日誌(不是雲控制檯)來自動能夠重新開始工作,如果他們通常會成功,因q而失敗問題或其他原因是暫時的? 在此先感謝
我會調查工作。有可能連接到數據存儲或類似的只是一個暫時的問題。您可以使用數據流的命令行界面檢查作業的失敗/成功狀態,這應該使您能夠列出作業並查詢其狀態。 https://cloud.google.com/dataflow/pipelines/dataflow-command-line-intf –
我重試了這些工作,但不幸的是,他們拋出了相同的例外。這很奇怪,因爲如上所述,它們與大約100個全部成功運行的其他作業類似。我會檢查這些工作的輸入數據是否與其他工作有奇怪的不同。在此先感謝您的幫助@LaraSchmidt 重試的JobIds:2017-08-30_05_31_24-7610218350337775734 和2017-08-30_05_33_22-3164534937414554703 – user2122552