Cloud Dataflow作业在启动前陷入无限循环

时间:2015-09-14 13:52:21

标签: google-cloud-dataflow

我有一个Cloud Dataflow工作,在运行任何应用程序逻辑之前都处于启动阶段。我通过在processElement步骤内部添加了一个日志输出语句对此进行了测试,但是它没有出现在日志中,所以它似乎没有被访问。

我在日志中可以看到以下消息,每分钟都会显示一次:

logger: Starting supervisor: /etc/supervisor/supervisord_watcher.sh: line 36: /proc//oom_score_adj: Permission denied

这些每隔几秒循环一次:

VM is healthy? true.

http: TLS handshake error from 172.17.0.1:38335: EOF

Job is in state JOB_STATE_RUNNING, will check again in 30 seconds.

作业ID为2015-09-14_06_30_22-15275884222662398973,但我还有另外两个工作(2015-09-14_05_59_30-110213927913046436712015-09-14_06_08_41-3621035073455045662),我早上就开始工作,并且遇到同样的问题。

关于可能导致此问题的任何想法?

1 个答案:

答案 0 :(得分:2)

听起来你的管道有一个BigQuery源,后跟DoFn。在运行DoFn(因此到达打印语句)之前,管道运行BigQuery导出作业以在GCS中创建数据的快照。这可确保管道获得BigQuery表中包含的数据的一致视图。

看起来这个BigQuery导出工作花了很长时间。遗憾的是,这不是出口过程的进度指标。如果再次运行管道并让它运行更长时间,则应完成导出过程,然后DoFn将开始运行。

我们正在研究改善出口工作的用户体验,以及弄清楚为什么花费的时间比我们预期的要长。