Обработка зависла при записи в BigQuery - PullRequest
0 голосов
/ 15 февраля 2019

Я использую облачный поток данных для импорта данных из сообщений Pub / Sub в таблицы BigQuery.Я использую DynamicDestination, поскольку эти сообщения могут быть помещены в разные таблицы.

Я недавно заметил, что процесс начал использовать все ресурсы, и сообщения о том, что процесс застрял, начали отображать:

Processing stuck in step Write Avros to BigQuery Table/StreamingInserts/StreamingWriteTables/StreamingWrite for at least 26h45m00s without outputting or completing in state finish at sun.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:429) at java.util.concurrent.FutureTask.get(FutureTask.java:191) at org.apache.beam.sdk.io.gcp.bigquery.BigQueryServicesImpl$DatasetServiceImpl.insertAll(BigQueryServicesImpl.java:765) at org.apache.beam.sdk.io.gcp.bigquery.BigQueryServicesImpl$DatasetServiceImpl.insertAll(BigQueryServicesImpl.java:829) at org.apache.beam.sdk.io.gcp.bigquery.StreamingWriteFn.flushRows(StreamingWriteFn.java:131) at org.apache.beam.sdk.io.gcp.bigquery.StreamingWriteFn.finishBundle(StreamingWriteFn.java:103) at org.apache.beam.sdk.io.gcp.bigquery.StreamingWriteFn$DoFnInvoker.invokeFinishBundle(Unknown Source)

В настоящее время просто отмена конвейера и его перезапуск, кажется, временно решают проблему, но я не могу точно определить причину, по которой процесс застревает.

Конвейерс использованием beam-runners-google-cloud-dataflow-java версии 2.8.0 и google-cloud-bigquery версии 1.56.0

...