Details
-
Improvement
-
Status: Review In Progress
-
Major
-
Resolution: Unresolved
-
None
-
None
-
Semantic
-
Normal
-
Description
PeriodicTaskExecutor already ensures one active run of each periodic task at any time. However, the implementation cannot establish the happens-before ordering between 2 runs. Therefore, writes may not be visible to the next run. The patch changes the scheduling behavior in the executor to address the issue, so that the runs are properly ordered, serial as in a single thread.
The patch also addressed a todo left in the code to expose richer ScheduleDecision enum, instead of using boolean for shouldSkip.
Attachments
Issue Links
- links to