Skip to content

Conversation

rachelekm
Copy link
Collaborator

@rachelekm rachelekm commented Mar 14, 2025

Overview

Upgrades OTP to OTPv1 final release, v1.5. Also upgrades JVM to Java v11 as OTPv1.5 transitioned support to Java 11+.

Demo

Screenshot 2025-03-13 at 11 39 23 PM

Notes

  • OTPv1.5 includes backported optimizations to elevation data calculations, including the ability to write cached elevations for reuse later. This is the most time consuming part of our graph build (consistently adds >1.5 hours to build time) and being able to reuse data from previous builds would allow us to troubleshoot graph build issues much faster in the deploy process and be a big dev environment improvement. I tried to quickly test out writing the cached elevation file as part of this graph build, but we don't currently use a build-config.json or a /cache dir as part of our process so figuring out how to correctly setup those ansible tasks is taking more time than appropriate to be a part of this card. I put that work in the rm/demo-pre-calculated-elevations branch and finalizing can be part of upcoming deploy automations, #1396.

Testing Instructions

  • Note that you till need to build a new graph as part of testing this branch, move any existing graph obj out of opt_data dir and ensure have GTFS .zip files and OSM files but don't include cac.tif so that build only takes ~30 min
  • Run vagrant provision otp (or vagrant destroy otp and vagrant up otp)
  • Confirm successful completion of provisioning and build graph
  • Confirm no issues routing and creating travelshed in browser

Checklist

  • No gulp lint warnings
  • No python lint warnings
  • Python tests pass
  • All TODOs have an accompanying issue link

Connects #1393

@rachelekm rachelekm marked this pull request as ready for review March 17, 2025 14:53
@rachelekm rachelekm requested a review from rajadain March 17, 2025 14:58
@rachelekm
Copy link
Collaborator Author

Noting that l just added the latest commit ab05bf3. This is a fix discovered as part of #1403 and updates the checksum to the updated OTP v1.5 .jar SHA in the dockerized version of the graph build.

@rajadain
Copy link
Collaborator

This seems to be working well. The graph generation is really fast on my Linux computer, takes about 5 minutes, but then the app says could not find routes for given time. Perhaps I'm building a graph using old data? Where can I get the most recent inputs to build the graph?

@rachelekm
Copy link
Collaborator Author

This seems to be working well. The graph generation is really fast on my Linux computer, takes about 5 minutes, but then the app says could not find routes for given time. Perhaps I'm building a graph using old data? Where can I get the most recent inputs to build the graph?

Sometimes it takes a couple minutes for OTP to finishing loading a graph, although 5 minutes is pretty speedy even without elevation data. I just added some recent data (last month's files) to the cleanair-otp-data s3 bucket, if you download everything but Graph.obj and cac.tif that should be good sample data to test a new graph build!

@rajadain
Copy link
Collaborator

Left it running over night, took a respectable 4h11m to run. Now seeing if the app behaves correctly locally.

Copy link
Collaborator

@rajadain rajadain left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 tested locally. Graph builds correctly, shows up correctly. VMs also provision correctly. Nice work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants