bvolpato opened a new pull request, #39919: URL: https://github.com/apache/beam/pull/39919
Addresses #38714. ## Problem The nightly snapshot workflow started failing consistently after #39594 merged. Both affected Dataflow jobs reach `SplitWithSizing`, then repeatedly lose their Java SDK harness. #39594 added three abstract methods to the public `CoderTranslatorRegistrar` SPI. Development SDK jobs use the pinned `beam-master-20260731` Dataflow worker container, whose registrar implementations were compiled before those methods existed. Calling a new method on one of those implementations is binary-incompatible and throws `AbstractMethodError`, terminating the harness. Public workflow logs contain the resulting harness disconnects, while worker diagnostics require access to the `apache-beam-testing` project. I verified the underlying failure directly by compiling a registrar against the parent of #39594 and running that unchanged bytecode with current `beam-sdks-java-core`. It fails with: ```text java.lang.AbstractMethodError: Receiver class LegacyRegistrar does not define or inherit an implementation of the resolved method 'abstract boolean isKnownCoder(...)' ``` ## Fix Provide default implementations for the three new lookup methods using the two maps already required by the older SPI. Existing registrars remain loadable across the SDK/container version boundary. `ModelCoderRegistrar` keeps its option-aware overrides, including SchemaCoder update-compatibility behavior. Regression coverage uses a registrar that implements only the pre-2.77 methods. The same separately compiled legacy bytecode also runs successfully after this change. ## Validation ```text ./gradlew :sdks:java:core:spotlessCheck ./gradlew :sdks:java:core:test ./gradlew :runners:google-cloud-dataflow-java:test --tests 'org.apache.beam.runners.dataflow.DataflowPipelineTranslatorTest' ./gradlew :sdks:java:harness:test --tests 'org.apache.beam.fn.harness.state.StateBackedIterableTest' ``` All passed locally. ------------------------ - [x] Mention the appropriate issue in the description. - [x] Update `CHANGES.md` with the binary-compatibility fix. - [x] This contribution is small and does not require an ICLA update. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
