conveyal / r5

Developed to power Conveyal's web-based interface for scenario planning and land-use/transport accessibility analysis, R5 is our routing engine for multimodal (transit/bike/walk/car) networks with a particular focus on public transit
https://conveyal.com/learn
MIT License
289 stars 74 forks source link

Regional analysis stalls with unrecognized route_type #443

Closed ansoncfit closed 5 years ago

ansoncfit commented 6 years ago

Using GTFS where all routes have route_type = 1501,

3732860 [pool-1-thread-10] ERROR com.conveyal.r5.analyst.cluster.AnalystWorker - An error occurred while routing: Taxi service not supported1501
13:23:06
java.lang.IllegalArgumentException: Taxi service not supported1501 at com.conveyal.r5.transit.TransitLayer.getTransitModes(TransitLayer.java:673) at com.conveyal.r5.profile.FastRaptorWorker.prefilterPatterns(FastRaptorWorker.java:223) at com.conveyal.r5.profile.FastRaptorWorker.route(FastRaptorWorker.java:162) at com.conveyal.r5.analyst.TravelTimeComputer.computeTravelTimes(TravelTimeComputer.
java.lang.IllegalArgumentException: Taxi service not supported1501
at com.conveyal.r5.transit.TransitLayer.getTransitModes(TransitLayer.java:673)
at com.conveyal.r5.profile.FastRaptorWorker.prefilterPatterns(FastRaptorWorker.java:223)
at com.conveyal.r5.profile.FastRaptorWorker.route(FastRaptorWorker.java:162)
at com.conveyal.r5.analyst.TravelTimeComputer.computeTravelTimes(TravelTimeComputer.java:215)
at com.conveyal.r5.analyst.cluster.AnalystWorker.handleOneRequest(AnalystWorker.java:459)
at com.conveyal.r5.analyst.cluster.AnalystWorker.lambda$run$0(AnalystWorker.java:372)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
13:23:06
3732860 [pool-1-thread-10] WARN com.conveyal.r5.analyst.cluster.AnalystWorker - Errors while completing task:
3732860 [pool-1-thread-10] WARN com.conveyal.r5.analyst.cluster.AnalystWorker - Errors while completing task:
13:23:06
[com.conveyal.r5.analyst.error.TaskError@150916fe]
[com.conveyal.r5.analyst.error.TaskError@150916fe]

Interestingly, in a regional analysis the worker successfully completed 82524 / 97552. But now it will just be kept alive as the broker re-delivers the same incomplete tasks.

ansoncfit commented 6 years ago

In this specific case, the street network extents are much larger than the transit network extents. So the transit search was skipped for many origins, but it failed for any origin where transit was actually used.

To address this, we could consider

Running a single-point analysis on this network triggers an error, but no details are shown to the user. That's a separate issue (#334 , https://github.com/conveyal/analysis-ui/issues/283)

ansoncfit commented 5 years ago

Closing, given that https://github.com/conveyal/analysis-ui/issues/684 makes this much less common, and #334 should fix it.