I downgraded google_cloud_bigdataoss from 2.1.5 back to 2.1.3, which was recently upgraded [1], and that fixed the issue. It looks like it was transitively pulling in protobuf 3.13.0, which isn't compatible with java 8(?!??).
[1] https://github.com/apache/beam/commit/7fec038bf9e3861462744ba5522208a4b9d15b85#diff-0435a83a413ec063bf7e682cadcd56776cd18fc878f197cc99a65fc231ef2047 On Fri, Nov 6, 2020 at 6:27 PM Steve Niemitz <sniem...@apache.org> wrote: > yeah, I built it via: > JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64 ./gradlew --no-daemon > -Ppublishing -PnoSigning publishMavenJavaPublicationToMavenLocal > > For me java8 is also my default > > On Fri, Nov 6, 2020 at 6:25 PM Kyle Weaver <kcwea...@google.com> wrote: > >> Do you have JAVA_HOME set? (possibly related: >> https://issues.apache.org/jira/browse/BEAM-11080) >> >> On Fri, Nov 6, 2020 at 3:13 PM Steve Niemitz <sniem...@apache.org> wrote: >> >>> I'm trying out 2.25 (built from source, using java 8), and running into >>> this error, both on the direct runner and dataflow: >>> >>> Caused by: java.lang.NoSuchMethodError: >>> java.nio.ByteBuffer.position(I)Ljava/nio/ByteBuffer; >>> at >>> com.google.protobuf.NioByteString.copyToInternal(NioByteString.java:112) >>> at com.google.protobuf.ByteString.toByteArray(ByteString.java:695) >>> at com.google.protobuf.NioByteString.writeTo(NioByteString.java:123) >>> at >>> org.apache.beam.sdk.extensions.protobuf.ByteStringCoder.encode(ByteStringCoder.java:67) >>> at >>> org.apache.beam.sdk.extensions.protobuf.ByteStringCoder.encode(ByteStringCoder.java:37) >>> at org.apache.beam.sdk.coders.DelegateCoder.encode(DelegateCoder.java:74) >>> at org.apache.beam.sdk.coders.DelegateCoder.encode(DelegateCoder.java:68) >>> >>> It seems like this was introduced in protobuf 3.12.4 based on this issue >>> I found [1] >>> >>> Am I doing something wrong with my build? Or am I just hitting an >>> untested combo here? >>> >>> [1] https://github.com/protocolbuffers/protobuf/issues/7827 >>> >>