简体   繁体   English

如何使用 Google Cloud Dataflow 增加 Apache Beam 管道工作线程上的线程堆栈大小?

[英]How can I increase the thread stack size on Apache Beam pipeline workers with Google Cloud Dataflow?

I'm getting a StackOverflowError on my Beam workers due to running out the thread stack, and because it's deep within the running of a SqlTransform it's not straightforward to reduce the number of calls being made.由于线程堆栈用完,我在 Beam 工作器上收到 StackOverflowError,并且因为它在 SqlTransform 的运行深处,所以减少调用的数量并不简单。

Is it possible to change the JVM thread stack size for my workers, either through Google Cloud Dataflow or Beam's own pipeline options?是否可以通过 Google Cloud Dataflow 或 Beam 自己的管道选项更改我的工作人员的 JVM 线程堆栈大小?

I don't think there's an easy way to do this.我不认为有一种简单的方法可以做到这一点。

  • If this is an issue of stack trace being purged by Cloud Logging, may be it might be possible to catch the exception yourself and inspect that instead of just logging it.如果这是 Cloud Logging 清除堆栈跟踪的问题,可能有可能自己捕获异常并检查它,而不仅仅是记录它。
  • If this is an issue of default stack trace depth set by the JVM not being enough, I don't think there's a way to update this for Dataflow today unfortunately.如果这是 JVM 设置的默认堆栈跟踪深度不够的问题,那么不幸的是,我认为今天没有办法为 Dataflow 更新它。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM