diff --git a/.github/trigger_files/beam_PostCommit_Java_ValidatesRunner_ULR.json b/.github/trigger_files/beam_PostCommit_Java_ValidatesRunner_ULR.json index 6e2f429dd24e..6f76381dda92 100644 --- a/.github/trigger_files/beam_PostCommit_Java_ValidatesRunner_ULR.json +++ b/.github/trigger_files/beam_PostCommit_Java_ValidatesRunner_ULR.json @@ -1,6 +1,6 @@ { "https://github.com/apache/beam/pull/34902": "Introducing OutputBuilder", - "comment": "Modify this file in a trivial way to cause this test suite to run", + "comment": "Modify this file in a trivial way to cause this test suite to run 2", "https://github.com/apache/beam/pull/31156": "noting that PR #31156 should run this test", "https://github.com/apache/beam/pull/35159": "moving WindowedValue and making an interface" } diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/util/construction/ModelCoderRegistrar.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/util/construction/ModelCoderRegistrar.java index 1f9f1eaafbed..eb92f195112c 100644 --- a/sdks/java/core/src/main/java/org/apache/beam/sdk/util/construction/ModelCoderRegistrar.java +++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/util/construction/ModelCoderRegistrar.java @@ -35,7 +35,6 @@ import org.apache.beam.sdk.coders.TimestampPrefixingWindowCoder; import org.apache.beam.sdk.coders.VarLongCoder; import org.apache.beam.sdk.options.PipelineOptions; -import org.apache.beam.sdk.options.StreamingOptions; import org.apache.beam.sdk.schemas.SchemaCoder; import org.apache.beam.sdk.transforms.windowing.GlobalWindow; import org.apache.beam.sdk.transforms.windowing.IntervalWindow.IntervalWindowCoder; @@ -140,8 +139,11 @@ public Map, CoderTranslator> getCoderTra @Override public boolean isKnownCoder(Coder coder, PipelineOptions options) { - if (coder.getClass() == SchemaCoder.class - && StreamingOptions.updateCompatibilityVersionLessThan(options, "2.74")) { + if (coder.getClass() == SchemaCoder.class) { + // Don't emit beam:coder:schema:v1 yet: its payload carries Java-only + // blobs and no other SDK can decode it, so cross-SDK runners like the + // Python ULR break. Fall back to the legacy custom coder encoding + // until other SDKs add support (#33859). return false; } return BEAM_MODEL_CODER_URNS.containsKey(coder.getClass());