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

Conditionally wait for previous polling task #6401

Open
wants to merge 2 commits into
base: dev-2.x
Choose a base branch
from

Conversation

vpaturet
Copy link
Contributor

@vpaturet vpaturet commented Jan 22, 2025

Summary

This is a follow-up PR for #6262 that improves the blocking wait logic: the polling thread is blocked only if the previous task takes longer than the polling interval.
In this case a log message indicates the additional waiting period.

The encapsulation of the task submission to the graph writer thread was missing in the SIRI-SX and SIRI-ET updater, this is fixed. As a result the callback saveResultOnGraph can be made private in PollingGraphUpdater.

The logic covers also the case when an updater sends several update tasks during one polling cycle.

Issue

No

Unit tests

The tests added in #6262 do not apply anymore and are removed.
Unit-testing the correctness of the logic introduced in this PR is impractical (multi-threading), so unfortunately no unit test is added.
Manual testing with the SIRI-SX polling updater in a local environment shows that the code works as expected.

Documentation

No

Copy link

codecov bot commented Jan 22, 2025

Codecov Report

Attention: Patch coverage is 25.00000% with 9 lines in your changes missing coverage. Please review.

Project coverage is 69.72%. Comparing base (5ab75af) to head (55aae1f).
Report is 68 commits behind head on dev-2.x.

Files with missing lines Patch % Lines
...entripplanner/updater/spi/PollingGraphUpdater.java 30.00% 5 Missing and 2 partials ⚠️
...ripplanner/updater/siri/updater/SiriETUpdater.java 0.00% 1 Missing ⚠️
...ripplanner/updater/siri/updater/SiriSXUpdater.java 0.00% 1 Missing ⚠️
Additional details and impacted files
@@              Coverage Diff              @@
##             dev-2.x    #6401      +/-   ##
=============================================
- Coverage      69.73%   69.72%   -0.01%     
+ Complexity     18023    18022       -1     
=============================================
  Files           2057     2057              
  Lines          76978    76985       +7     
  Branches        7845     7844       -1     
=============================================
- Hits           53678    53677       -1     
- Misses         20550    20555       +5     
- Partials        2750     2753       +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@vpaturet vpaturet force-pushed the conditionnaly_wait_for_previous_polling_task branch from cf8acfe to 49b8134 Compare January 22, 2025 14:52
@vpaturet vpaturet force-pushed the conditionnaly_wait_for_previous_polling_task branch from 49b8134 to 55aae1f Compare January 23, 2025 10:25
@vpaturet vpaturet self-assigned this Jan 24, 2025
@vpaturet vpaturet added Improvement Real-Time Update The issue/PR is related to RealTime updates labels Jan 24, 2025
@vpaturet vpaturet marked this pull request as ready for review January 24, 2025 09:11
@vpaturet vpaturet requested a review from a team as a code owner January 24, 2025 09:11
@leonardehrenfried leonardehrenfried changed the title Conditionnaly wait for previous polling task Conditionally wait for previous polling task Jan 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Improvement Real-Time Update The issue/PR is related to RealTime updates
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant