Skip to content

[prism] Java timer families cannot be looked up SDK side (prism re-write issue) #32221

@lostluck

Description

@lostluck

Java SDK timer tests fail, being unable to look up timers SDK side, even though the Go and Python SDKs don't seem to have this issue.

The error occurs in BeamFnDataInboundObserver.

error="bundle inst003 stage-004 failed:java.lang.IllegalStateException: Unable to find inbound timer receiver for instruction \"inst003\", transform \"first-ParMultiDo-Anonymous-\", and timer family \"\" No endpoint. Available keys: [ts-foo]\n\tat org.apache.beam.sdk.fn.data.BeamFnDataInboundObserver.multiplexElements(BeamFnDataInboundObserver.java:193 ...

So we do see that there is a timer there, so question is why does it look like Prism isn't actually populating the timer family being sent to the SDK.

Full Suite iteration (two suites)

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

31 tests completed, 19 failed

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

7 tests completed, 6 failed

Going to iterate with the following to investigate.

TEST=org.apache.beam.sdk.transforms.ParDoTest\$TimerTests.testEventTimeTimerLoop

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions