-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Pass empty timetable to TransitLayerUpdater in order to clear added trip patterns #6280
base: dev-2.x
Are you sure you want to change the base?
Conversation
5a4a351
to
d931077
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## dev-2.x #6280 +/- ##
==========================================
Coverage 69.85% 69.85%
- Complexity 17921 17925 +4
==========================================
Files 2035 2035
Lines 76495 76520 +25
Branches 7824 7826 +2
==========================================
+ Hits 53434 53454 +20
- Misses 20324 20327 +3
- Partials 2737 2739 +2 ☔ View full report in Codecov by Sentry. |
application/src/main/java/org/opentripplanner/model/TimetableSnapshot.java
Outdated
Show resolved
Hide resolved
Sorry it seems that the bug still appears on the live server, so I need to mark this as draft for now. |
The solution will not work if a timetable is cleared multiple times between commits. Also on my live server log there are a lot of "WARN could not fetch timetable for pattern" which may be related to this problem as well. I'll need to further fix it. |
What does this line actually mean: Line 198 in d931077
My server log is flooded with this. |
…Layer during commit
Would it work and would it be simpler if:
|
I think it will be better and I will work on this. |
Unfortunately TransitLayerUpdater is not feed aware and it doesn't really have a state, so it is not possible for me to do that without adding complexity into the system. There is no concept of a "feed" and the "original" in the TransitLayer. |
only do the actual restoration when committing if it isn't subsequently made dirty
I have updated my approach as the original contained a mistake which broke the cancelled trip fetching. I have now deferred the actual restoration of the timetable to the time of commit. When |
PR Instructions
Summary
Currently, after clearing TimetableSnapshot, if it is committed directly empty, nothing is passed to TransitLayerUpdater. As a result, previously added trip patterns remain in the TransitLayer for routing purpose, resulting in stale timetables returned in itinerary results which no longer exist in the actual, published timetable snapshot.
Issue
Fixes #6197
Unit tests
Added
Documentation
Bug fix only, not needed
Changelog