-
Notifications
You must be signed in to change notification settings - Fork 128
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
[jormungandr] Manage journey request call without coverage but with object uri #4119
Conversation
Kudos, SonarCloud Quality Gate passed! |
if object_coord: | ||
return self._all_keys_of_coord_in_instances(instances, object_coord.lon, object_coord.lat) |
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.
🚨 To me, it looks like 2 problems are gonna rise:
- Candidate coverages will sometimes not include coverages that know the stop-id
- Ex. A: A journey without coverage from Lille to Aix (for a free-user of Navitia).
Candidates arefr-ne
only for Lille,fr-se
only for Aix: Navitia won't be able to find a single coverage matching the journey (it is something we are currently able to do). - Ex. B: A journey without coverage from Nantes to Lisboa.
No candidate (from coords) for Lisboa (nopt
coverage), so no journey, whereasfr-nw
is able to process a journey.
- Candidate coverages will sometimes include coverages that don't know the stop-id (they just have coords in their shape)
- Ex. C: A journey for a "full-access" user from LilleFlandres (stop-id from
fr-ne
) to LilleEurope (stop-id fromfr-ne
also):
From the priorities,fr-npdc
will be used first instead offr-ne
, andfr-npdc
doesn't know the stop-ids fromfr-ne
(maybethere is a fallback if journey request fails and it's "just" a perf loss).
As discussed: not sure about the best way to progress considering that (@stifoon may have ideas).
- Really replacing by stop-coords the stop-ids (probably with a free_radius for the case of Lisboa) when using no coverage
- Having multiple types of coverage candidates (they may be implicit to save some performance):
- golden: the ones that know both stop-id and shape includes stop-coord
- silver: the ones that just know stop-id but shape doesn't include stop-coord
- bronze: the ones that don't know stop-id, but shape includes stop-coord (this one is probably just a nice-to-have as it would improve current feature and requires switching on stop-coord everywhere in the call
- Switch to mimir if it does know both coverages and coords for a given stop-id
- Accept those changes of behavior
- Change nothing
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.
After discussion, decisions are:
- assuming the behavioral change on the first problem (examples A & B)
- watching and testing the second problem (example C):
if it doesn't work (no fallback between coverages): reconsider what to doifit still does works: watch if it impacts performances (requesting multiple krakens for a single journey)
For a request on journey to navitia without coverage but with params from or to as coordinate:
But when instead of coordinate, if we use object_uri
Here is the FIX when object_uri is present in from or to:
For more details: https://navitia.atlassian.net/browse/NAV-2334