Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[prism] Java PipelineTest: Unknown Urn "ProjectTag", "IdentityTransform" - Support "Empty" Composites without subtransforms. #31991

Closed
Tracked by #29650
lostluck opened this issue Jul 25, 2024 · 0 comments · Fixed by #32024
Assignees

Comments

@lostluck
Copy link
Contributor

Java PipelineTests are failing in some cases with PTransformSpec.Urns set with "ProjectTag" and "IdentityTransform". It's not clear what's going on here, except that these are unknown/non-standard URNs being used outside of a composite.

Iterate by setting as the pipeline test, then running the Gradle command, pointed at a prism instance.

TEST=org.apache.beam.sdk.PipelineTest
./gradlew :runners:portability:java:ulrLoopbackValidatesRunnerTests -PjobEndpoint=localhost:8073 --tests="$TEST"

There should be at least 3 failing tests. testIdentityTransform, testTupleProjectionTransform, and testTupleInjectionTransform.

It's possible the "correct" move is to allow arbitrary URNs, and treat them as the DoFn urn, but this feels sub optimal for respecting new SDKs.

Examining the "Identity" transform, it looks like it's a Composite that has no sub transforms, which means we're not doing the "right" thing WRT detecting a composite, assuming they always have sub transforms.

Similarly, "ProjectTag", has no transforms, but only extracts out (or even wraps) a pcollection out from a Pcollection tuple (or creates one).


The resolution is to allow this style of "composites", and assume unknown URNs are of this style of Composite transforms. This means no longer requiring composites to have sub transforms, and ensure that the no-op (input is output), and tag filter (output is subset of output) are allowed.

@lostluck lostluck self-assigned this Jul 30, 2024
@lostluck lostluck changed the title [prism] Java PipelineTest Mysteries: Unknown Urn "ProjectTag", "IdentityTransform" [prism] Java PipelineTest: Unknown Urn "ProjectTag", "IdentityTransform" - Support "Empty" Composites without subtransforms. Jul 30, 2024
@lostluck lostluck added this to the 2.59.0 Release milestone Jul 30, 2024
lostluck added a commit to lostluck/beam that referenced this issue Jul 30, 2024
damondouglas pushed a commit that referenced this issue Jul 30, 2024
Co-authored-by: lostluck <13907733+lostluck@users.noreply.github.com>
reeba212 pushed a commit to reeba212/beam that referenced this issue Dec 4, 2024
Co-authored-by: lostluck <13907733+lostluck@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant