apache/beam

DirectRunner unnecessarily re-scheules tasks after exceptions

Aperta

#18.141 aperta il 3 giu 2022

 (2 commenti) (0 reazioni) (1 assegnatario)Java (4097 fork)batch import
P3bugcoregood first issuepython

Metriche repository

Star
 (7313 stelle)
Metriche merge PR
 (Metriche PR in attesa)

Descrizione

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.

Guida contributor