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] Timer Clearing #32115

Closed
Tracked by #29650
lostluck opened this issue Aug 8, 2024 · 1 comment · Fixed by #32119
Closed
Tracked by #29650

[prism] Timer Clearing #32115

lostluck opened this issue Aug 8, 2024 · 1 comment · Fixed by #32119
Assignees

Comments

@lostluck
Copy link
Contributor

lostluck commented Aug 8, 2024

At least one of the Python tests test_pardo_timers_clear uses timer clearing.

/home/rebo/sdk/go1.22.1/bin/go build ../go/cmd/prism/*.go && python3 -m pytest -v apache_beam/runners/portability/prism_runner_test.py::PrismRunnerTest::test_pardo_timers_clear --test-pipeline-options="--environment_type=LOOPBACK --prism_bin=/home/rebo/git/beam/sdks/python/prism"

Most of this should already exist, but it's not fully supported in prism yet. It should be a matter of indicating how to write the "cleared" timer to the element manager in triageTimers.

@lostluck
Copy link
Contributor Author

lostluck commented Aug 8, 2024

It's looking like I'm mis-handling the timer format!

From the Data stream, the Elements_Timers.Timers field is an encoded "logical stream" of timers.

That is there can be more than one. I'm treating that as a single timer, when there could in fact be more than one.

Need to add a decoding loop, but should help resolve the whole set.

This is in test_pardo_timers (without the clearing).


The clear test has perplexing behavior though, as it looks like timers are simply never received. That can't be right.

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