apache/beam

DirectRunner unnecessarily re-scheules tasks after exceptions

Open

#18.141 aberto em 3 de jun. de 2022

Ver no GitHub
 (2 comments) (0 reactions) (1 assignee)Java (4.097 forks)batch import
P3bugcoregood first issuepython

Métricas do repositório

Stars
 (7.313 stars)
Métricas de merge de PR
 (Mesclagem média 6d) (243 fundiu PRs em 30d)

Description

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.

Guia do colaborador