Google cloud dataflow Go SDK的数据流在';无效的协议缓冲例外';

Google cloud dataflow Go SDK的数据流在';无效的协议缓冲例外';,google-cloud-dataflow,apache-beam,Google Cloud Dataflow,Apache Beam,我们之前运行的是Beam 2.11.0,由于URN格式的明显变化,它开始失败。当我尝试更新和使用最新版本(2.13.0)时,管道开始超时,在测试期间,我从日志中发现的唯一看似相关的错误是: > Ap.ApCh.BeAM.VAND.Pr.V1P13P1.COM.GoGoL.TyfBuff.ValuePrimuloBuffelExtExc:当解析协议消息时,输入在字段的中间意外终止。这可能意味着输入被截断,或者嵌入的消息误报了自己的长度。 为了进一步测试这一点,我尝试使用Beam docs/rep

我们之前运行的是Beam 2.11.0,由于URN格式的明显变化,它开始失败。当我尝试更新和使用最新版本(2.13.0)时,管道开始超时,在测试期间,我从日志中发现的唯一看似相关的错误是:

> Ap.ApCh.BeAM.VAND.Pr.V1P13P1.COM.GoGoL.TyfBuff.ValuePrimuloBuffelExtExc:当解析协议消息时,输入在字段的中间意外终止。这可能意味着输入被截断,或者嵌入的消息误报了自己的长度。

为了进一步测试这一点,我尝试使用Beam docs/repo中提供的wordcount示例,但得到了相同的结果。我不确定这是一般性错误还是与数据流有关。当通过直接流道运行时,管道似乎工作

注意:我已经用最新版本重建了我们的worker_Harnese_container_映像

我知道Dataflow不支持Go SDK,但是有人能告诉我错误是否与Dataflow或其他问题有关吗


PS:我在Dataflow和Beam Slack通道中问过这个问题,但没有得到任何回应。

这看起来确实像是worker和sdk之间的不匹配。你有完整的追踪吗?除了重建工人映像,您可能还必须重新生成go proto文件(我认为)。感谢您回复我@robertwb-我认为我看到了问题所在。然而,当我重新生成时,我遇到了另一个问题,本质上与此相同--生成的原型文件试图导入“google/protobuf”-我不确定这是否是我的本地设置的问题,但我看不到如何解决它。@robertwb PS repo中的原型文件应该更新吗?src是proto3(),但生成的是proto2()——除非我误解了什么?是的,我认为repo中的proto文件也需要更新。我会找一个更了解如何做这件事的人。看,这看起来确实像是worker和sdk之间的不匹配。你有完整的追踪吗?除了重建工人映像,您可能还必须重新生成go proto文件(我认为)。感谢您回复我@robertwb-我认为我看到了问题所在。然而,当我重新生成时,我遇到了另一个问题,本质上与此相同--生成的原型文件试图导入“google/protobuf”-我不确定这是否是我的本地设置的问题,但我看不到如何解决它。@robertwb PS repo中的原型文件应该更新吗?src是proto3(),但生成的是proto2()——除非我误解了什么?是的,我认为repo中的proto文件也需要更新。我会找一个知道更多关于如何做这件事的人。看到了吗