apache/beam

DirectRunner unnecessarily re-scheules tasks after exceptions

Open

#18,141 建立於 2022年6月3日

在 GitHub 查看
 (2 留言) (0 反應) (1 負責人)Java (4,097 fork)batch import
P3bugcoregood first issuepython

倉庫指標

Star
 (7,313 star)
PR 合併指標
 (平均合併 6天) (30 天內合併 243 個 PR)

描述

Seems like DirectRunner keeps scheduling tasks when exceptions occur when reading BigQuery results (and possibly in other cases).

I verified that rescheduling is not coming from BigQuery. AFAIKT a _MonitorTask that gets added at following location does not get removed properly when an exception is thrown. https://github.com/apache/beam/blob/master/sdks/python/apache_beam/runners/direct/executor.py#L361

To reproduce: (1) Raise a 'ValueError' at the beginning of method BigQueryWrapper.convert_row_to_dict at following location. https://github.com/apache/beam/blob/master/sdks/python/apache_beam/io/bigquery.py#L1061 (2) Setup Python SDK and run bigquery_tornadoes with DirectRunner. python -m apache_beam.examples.cookbook.bigquery_tornadoes --output <table> --project <project>

Imported from Jira BEAM-1462. Original Jira may contain additional context. Reported by: chamikara.

貢獻者指南