2

小さなサブセットでうまく動作するPython Cloud Dataflowジョブがありますが、完全なデータセットでは明らかな理由で失敗しているようです。作業ステータスの更新に失敗しましたPython Cloud Dataflowの例外

私はデータフローインターフェースで取得のみエラーが標準エラーメッセージです:私はこのFailed to update work statusエラーはに関連していると仮定し

Exception in worker loop: Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/dataflow_worker/batchworker.py", line 736, in run deferred_exception_details=deferred_exception_details) File "/usr/local/lib/python2.7/dist-packages/dataflow_worker/batchworker.py", line 590, in do_work exception_details=exception_details) File "/usr/local/lib/python2.7/dist-packages/apache_beam/utils/retry.py", line 167, in wrapper return fun(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/dataflow_worker/batchworker.py", line 454, in report_completion_status exception_details=exception_details) File "/usr/local/lib/python2.7/dist-packages/dataflow_worker/batchworker.py", line 266, in report_status work_executor=self._work_executor) File "/usr/local/lib/python2.7/dist-packages/dataflow_worker/workerapiclient.py", line 364, in report_status response = self._client.projects_jobs_workItems.ReportStatus(request) File "/usr/local/lib/python2.7/dist-packages/apache_beam/internal/clients/dataflow/dataflow_v1b3_client.py", line 210, in ReportStatus config, request, global_params=global_params) File "/usr/local/lib/python2.7/dist-packages/apitools/base/py/base_api.py", line 723, in _RunMethod return self.ProcessHttpResponse(method_config, http_response, request) File "/usr/local/lib/python2.7/dist-packages/apitools/base/py/base_api.py", line 729, in ProcessHttpResponse self.__ProcessHttpResponse(method_config, http_response, request)) File "/usr/local/lib/python2.7/dist-packages/apitools/base/py/base_api.py", line 599, in __ProcessHttpResponse http_response.request_url, method_config, request) HttpError: HttpError accessing https://dataflow.googleapis.com/v1b3/projects//jobs/2017-05-03_03_33_40-3860129055041750274/workItems:reportStatus?alt=json>: response: <{'status': '400', 'content-length': '360', 'x-xss-protection': '1; mode=block', 'x-content-type-options': 'nosniff', 'transfer-encoding': 'chunked', 'vary': 'Origin, X-Origin, Referer', 'server': 'ESF', '-content-encoding': 'gzip', 'cache-control': 'private', 'date': 'Wed, 03 May 2017 16:46:11 GMT', 'x-frame-options': 'SAMEORIGIN', 'content-type': 'application/json; charset=UTF-8'}>, content <{ "error": { "code": 400, "message": "(2a7b20b33659c46e): Failed to publish the result of the work update. Causes: (2a7b20b33659c523): Failed to update work status. Causes: (8a8b13f5c3a944ba): Failed to update work status., (8a8b13f5c3a945d9): Work \"4047499437681669251\" not leased (or the lease was lost).", "status": "INVALID_ARGUMENT" } } >

A work item was attempted 4 times without success. Each time the worker eventually lost contact with the service.

のStackdriverの分析にのみ、このエラーを示して記録しますクラウドランナー?しかし、私はこのエラーに関する情報をオンラインで見つけられなかったので、他の誰かがそれに遭遇してより良い説明をしているのだろうかと思いました。

私はGoogle Cloud Dataflow SDK for Python 0.5.5を使用しています。

+0

パイプラインのソースとシンクは何ですか? –

+0

2つのソースはGCSのavroファイルで、シンクはGCSのTFRecordファイルです。 – Fematich

+0

あなたは仕事のIDを共有できますか?あなたのパイプラインが何をしているかについての詳細を記述できますか? –

答えて

2

リース期限切れの主な原因の1つは、VMのメモリ負担に関連しています。より高いメモリを持つマシンであなたの仕事を走らせてみてください。特に、ハイメムマシンタイプはこのトリックを行うべきです。

マシンタイプの詳細情報については、より良いこれらのケースを処理することができるはずGCE Documentation

次のデータフローのリリース(2.0.0)をチェックしてみてください。

+0

ありがとうございます、私はより高いメモリマシン(そしてデータフローバージョン0.6.0)でジョブを実行しようとします! Dataflow 2.0.0のリリース予定日を見つけることができるロードマップはありますか?私はまだそれを見つけられませんでした。 – Fematich

+0

Dataflow 2.0.0が6月中旬にリリースされました:) – Pablo

+0

ありがとう:-)アップグレードは問題を解決しました! – Fematich

関連する問題