-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Pass empty timetable to TransitLayerUpdater in order to clear added trip patterns #6280
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
base: dev-2.x
Are you sure you want to change the base?
Pass empty timetable to TransitLayerUpdater in order to clear added trip patterns #6280
Conversation
5a4a351 to
d931077
Compare
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## dev-2.x #6280 +/- ##
==========================================
Coverage 72.14% 72.14%
- Complexity 19673 19678 +5
==========================================
Files 2127 2127
Lines 79562 79587 +25
Branches 8041 8043 +2
==========================================
+ Hits 57397 57419 +22
- Misses 19331 19333 +2
- Partials 2834 2835 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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 |
# Conflicts: # application/src/main/java/org/opentripplanner/model/TimetableSnapshot.java
# Conflicts: # application/src/test/java/org/opentripplanner/model/TimetableSnapshotTest.java
Release 2.7.0
74914c5 to
6352234
Compare
6352234 to
d315867
Compare
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