I have a grpc service code compiled with maven protoc plugin 0.4.2 and grpc version 0.8.0. I am trying to use this generated code with datafflow sdk 1.4.0 but I get this error when i try to create a grpc client using the blocking stub.
com.google.cloud.dataflow.sdk.Pipeline$PipelineExecutionException: java.lang.NoSuchMethodError: io.grpc.protobuf.ProtoUtils.marshaller(Lcom/google/protobuf/MessageLite;)Lio/grpc/MethodDescriptor$Marshaller;
at com.google.cloud.dataflow.sdk.Pipeline.run(Pipeline.java:186)
I am not sure if this is because of some discrepancy with between the versions of protobuf used by the dataflow sdk and the grpc generated code. I also get this error when i try to output a protobuf message from one of the DoFn's in my pipeline
com.google.cloud.dataflow.sdk.Pipeline$PipelineExecutionException: java.lang.NoSuchMethodError: com.google.protobuf.GeneratedMessage.computeStringSize(ILjava/lang/Object;)I
at com.google.cloud.dataflow.sdk.Pipeline.run(Pipeline.java:186)
I have excluded protobuf from the dataflow sdk dependency in maven and the only protobuf and groc packages that show up in my dependency tree are 3.0.0-alpha-3.1 and 0.8.0 respectively.