【问题标题】:Processing stuck when writing to BigQuery写入 BigQuery 时处理卡住
【发布时间】:2019-07-10 00:15:01
【问题描述】:

我正在使用 Cloud Dataflow 将 Pub/Sub 消息中的数据导入 BigQuery 表。我正在使用 DynamicDestinations 因为这些消息可以放入不同的表中。

我最近注意到该进程开始消耗所有资源和表明该进程被卡住的消息开始显示:

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 版

【问题讨论】:

标签: java google-bigquery google-cloud-dataflow


【解决方案1】:

可能是我迟到了。但它可能会帮助某人.. 我也遇到了类似的错误,在 2.22 版的梁中也是如此。 但事实证明这实际上不是问题,在抛出异常之前,有错误在 INFO 中默默传递。

BigQuery insertAll error, retrying, Not found: Dataset <projectname>:<datasetname>

由于该错误,管道会继续运行数天。

当我修复了上述错误后,一切都开始正常了。因此,您可能会有其他无情的例外悄悄潜入。

真实的故事!

【讨论】:

    【解决方案2】:

    此日志消息可能看起来很吓人,但它并不表示存在问题。此消息试图传达的是您的管道已经执行相同操作一段时间了。

    这不一定是问题:您的文件可能足够大,以至于需要一段时间才能写入。如果您遇到此问题时担心您会看到这些消息,请考虑您拥有什么样的管道,以及认为它可能有一些缓慢的步骤是否有意义。


    在你的情况下,你的管道已经写了 26 小时,所以这肯定是一个问题。我相信这个问题与旧版本的 Beam 中的库引入的死锁有关。这在最近的版本(例如 2.15.0)中应该不是问题。

    【讨论】:

      猜你喜欢
      • 2015-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-09
      • 1970-01-01
      • 1970-01-01
      • 2017-08-18
      相关资源
      最近更新 更多