apache/beam

DirectRunner unnecessarily re-scheules tasks after exceptions

开放

#18,141 创建于 2022年6月3日

 (2 条评论) (0 个反应) (1 位负责人)Java (4,097 个派生)batch import
P3bugcoregood first issuepython

仓库指标

星标
 (7,313 个星标)
PR 合并指标
 (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.

贡献者指南