-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
WFLY-19419 Distributed timer service should consolidate timeouts that would execute in the past #17962
Conversation
@tadamski @rachmatowicz Please review. |
Adding the hold label for now, as there are few things requiring further discussion:
|
8cacb66
to
cb6c43f
Compare
Removing hold label. I've included a reproducer and fix for WFLY-19514 to address the issue from my previous comment, where, in the local timer service, interval vs calendar timers behave differently wrt missed timeouts. With this change, both timer services will behave consistently for both interval and calendar-based timers. |
@bstansberry @pferraro FYI, actively working on the review. Should be done Friday 12 July. |
/retest |
I'm going to defer this to 34. |
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.
I can see that the tests pass...so my understanding is just not deep enough at this stage to fully digest everything that is going on, but left some comments for consideration.
...ejb/infinispan/src/main/java/org/wildfly/clustering/ejb/infinispan/timer/TimerScheduler.java
Show resolved
Hide resolved
...ejb/infinispan/src/main/java/org/wildfly/clustering/ejb/infinispan/timer/TimerScheduler.java
Show resolved
Hide resolved
...ejb/infinispan/src/main/java/org/wildfly/clustering/ejb/infinispan/timer/TimerScheduler.java
Show resolved
Hide resolved
...test/java/org/jboss/as/test/clustering/cluster/ejb/timer/CoalesceMissedTimeoutsTestCase.java
Show resolved
Hide resolved
… would execute in the past
…th super implementation.
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.
Met with Paul and discussed how LocalScheduler.run() and TimerScheduler.InvokeTask() work together to schedule and execute timeouts in such a way that any timeout callbacks that occur when the TimerService is not started are coalesced into one representative timer firing when the TimerService is restarted, so this looks good to me.
Thanks @rachmatowicz ! |
https://issues.redhat.com/browse/WFLY-19419
Also solves: WFLY-19271 Distributed timer service drops timeout events if server is suspended
https://issues.redhat.com/browse/WFLY-19271
<--- THIS SECTION IS AUTOMATICALLY GENERATED BY WILDFLY GITHUB BOT. ANY MANUAL CHANGES WILL BE LOST. --->
<--- END OF WILDFLY GITHUB BOT REPORT --->
More information about the wildfly-bot[bot]