Output files can not be written. Make sure ors.engine.graphs_data_access is set to a writable type!

Previous Issue?

Possibly related to: https://github.com/GIScience/openrouteservice/issues/1878

Problem Description

I am running ORS WAR v9.9.0 on Tomcat 11.0.22.0 on Ubuntu 24.04.

My config file is:

ors:
  engine:
    graphs_data_access: RAM_STORE
    profile_default:
      graph_path: /ors/graphs
      build:
        source_file: /ors/albania-latest.osm.pbf
    profiles:
      driving-car:
        enabled: true

When starting Tomcat I receive the below in /opt/tomcat/logs/catalina.out

2026-06-15 06:08:48 ^[[1;31mERROR  ^[[m ^[[36m                                          ORS-Init^[[m ^[[1;36m[ o.h.o.r.RoutingProfileManager            ]^[[m
2026-06-15 06:08:48 ^[[1;31mERROR  ^[[m ^[[36m                                          ORS-Init^[[m ^[[1;36m[ o.h.o.r.RoutingProfileManager            ]^[[m   Exception at RoutingProfileManager initialization: class java.lang.IllegalStateException: Output files can not be written. Make sure ors.engine.graphs_data_access is set to a writable type!
2026-06-15 06:08:48 ^[[1;31mERROR  ^[[m ^[[36m                                          ORS-Init^[[m ^[[1;36m[ o.h.o.r.RoutingProfileManager            ]^[[m

What have I tried?

Increasing server RAM (currently at 90GB)

Updating the Tomcat service to utilise more system RAM using the below system variable:

"CATALINA_OPTS=-Xms12g -Xmx80g -server -XX:+UseParallelGC"

Using a small data set to rule out memory limits. Currently attempting on the Albania PBF file which is only 50MB in size

Hey,

the best guess here is that this is a permission issue.
Most likely, your tomcat user does not have write permissions for the graph_path.

Best regards

Hi,

Fairly certain it’s not file system permission related. Or at least not for the graphs directly.
I have updated the permissions for each folder in the path to 777 and each folder is owned by the Tomcat service account. The Tomcat service account was also successfully able to create the subdirectories under /ors/graphs
Eg. it automatically created /ors/graphs/albania/driving-car

And as I have the above in the config file, should this not all be writing to RAM?