Java 如何使用Google Cloud Dataflow增加Apache Beam pipeline workers上的线程堆栈大小?

Java 如何使用Google Cloud Dataflow增加Apache Beam pipeline workers上的线程堆栈大小?,java,google-cloud-dataflow,apache-beam,beam-sql,Java,Google Cloud Dataflow,Apache Beam,Beam Sql,由于线程堆栈耗尽,我的Beam workers上出现了StackOverflower错误,而且因为它在SqlTransform运行的深处,所以要减少调用的数量并不容易 是否可以通过Google Cloud Dataflow或Beam自己的管道选项为我的工作人员更改JVM线程堆栈大小?我认为没有简单的方法可以做到这一点 如果这是一个通过云日志记录清除堆栈跟踪的问题,那么您可以自己捕获异常并检查它,而不仅仅是记录它 如果这是JVM设置的默认堆栈跟踪深度不够的问题,那么很遗憾,我认为现在没有办法更新

由于线程堆栈耗尽,我的Beam workers上出现了StackOverflower错误,而且因为它在SqlTransform运行的深处,所以要减少调用的数量并不容易


是否可以通过Google Cloud Dataflow或Beam自己的管道选项为我的工作人员更改JVM线程堆栈大小?

我认为没有简单的方法可以做到这一点

  • 如果这是一个通过云日志记录清除堆栈跟踪的问题,那么您可以自己捕获异常并检查它,而不仅仅是记录它
  • 如果这是JVM设置的默认堆栈跟踪深度不够的问题,那么很遗憾,我认为现在没有办法更新数据流的默认堆栈跟踪深度

正如chamikara在回答中提到的,听起来很难,也许您可以尝试使用,但我不太确定它是否有效,因为数据流是托管服务,配置此类参数很复杂。是否可以尝试使用DirectRunner进行复制?