-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
[BEAM-11971] Fix directrunner timer consistency #16650
[BEAM-11971] Fix directrunner timer consistency #16650
Conversation
reuvenlax
commented
Jan 29, 2022
•
edited
Loading
edited
- Replaces pushedBackTimers with the technique used in FnApiDoFnRunner.
- Removes buggy use of Concurrent* data structures (those data structures only provide weakly-consistent iteration, which violates assumptions in the DirectRunner)
- Fix a few bugs associated with looping timers
2f4de0b
to
a8c89ba
Compare
Run Java PreCommit |
Run Java_PVR_Flink_Batch PreCommit |
R: @rezarokni |
Run Java PreCommit |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The only thing I'm not sure how is how setting looping timer in earlierTimers
should work. Could we maybe test that explicitly with a unit test?
.../direct-java/src/main/java/org/apache/beam/runners/direct/StatefulParDoEvaluatorFactory.java
Show resolved
Hide resolved
} | ||
} | ||
|
||
for (TimerData timer : update.getDeletedTimers()) { | ||
if (TimeDomain.EVENT_TIME.equals(timer.getDomain())) { | ||
String timerKey = timer.getTimerId() + '+' + timer.getTimerFamilyId(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The construction of the timerKey
seems repeated, could we wrap it in a helper method?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cleaned up timerKey usage
sdks/java/core/src/test/java/org/apache/beam/sdk/transforms/ParDoTest.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
nit: maybe we could slightly improve the stringKey
for better readability.
runners/core-java/src/main/java/org/apache/beam/runners/core/TimerInternals.java
Show resolved
Hide resolved
Run Java PreCommit |
CC: @kileys |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
83d976b
to
8ea77f9
Compare
@reuvenlax - we rolled this back because several tests were failing #16748 |
Which tests were failing?
…On Mon, Feb 7, 2022 at 3:04 PM Kyle Weaver ***@***.***> wrote:
@reuvenlax <https://github.com/reuvenlax> - we rolled this back because
several tests were failing #16748
<#16748>
—
Reply to this email directly, view it on GitHub
<#16650 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AFAYJVPLXNAUMCN4QBXCZULU2BFYNANCNFSM5NCOGP3A>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|