Proper deployment configuration for CountryInfos

Hi!

We recently self-hosted ORS for Europe (~28.5Gb) on Azure (Standard_DC16s_v3; 16 Cores, 128Gb RAM).
Building the graphs worked pretty well, despite the occasional crashes and finished after around 10 hours.

We wanted to include the CountryInfo and re-initialized the whole deployment but the processing takes forever (has been running for almost 2 weeks) and just seems unfeasible. It is not stuck, since there are some occasional logs (every few days) but it does sometimes crash, losing all progress.

(The elevation_cache has been created, RAM usage is around 80% and the CPU at around 10%.)

What settings would you recommend? Is this machine strong enough for this map? Is there anything else we are missing?

Config:

  server:
    port: 8080

  ors:
    cors:
      allowed_origins: "*"
      allowed_headers: Content-Type, X-Requested-With, accept, Origin, Access-Control-Request-Method, Access-Control-Request-Headers, Authorization
      preflight_max_age: 600
    engine:
      source_file: /home/ors/files/osm_file.pbf

      graphs_root_path: /home/ors/graphs
      
      elevation:
        preprocessed: false
        data_access: MMAP
        cache_clear: false
        provider: multi
        cache_path: ./elevation_cache

      profiles:
        car:
          enabled: true
          profile: driving-car
          encoder_flags_size: 8
          encoder_options:
            turn_costs: true
            block_fords: false
            use_acceleration: true
          maximum_distance: 500000000
          maximum_distance_dynamic_weights: 500000000
          maximum_waypoints: 300000
          elevation: true
          preparation:
            min_network_size: 200
            min_one_way_network_size: 200
            methods:
              ch:
                enabled: true
                threads: 6
                weightings: recommended
              core:
                enabled: true
                threads: 6
                weightings: recommended,shortest
                landmarks: 64
                lmsets: highways;allow_all
          execution:
            methods:
              ch:
                disabling_allowed: true
              core:
                disabling_allowed: true
                active_landmarks: 6
          ext_storages:
            RoadAccessRestrictions:
              use_for_warnings: true
            WayCategory:
            WaySurfaceType:
            Borders:
              boundaries: /home/ors/files/europe-boundaries.geojson
              ids: /home/ors/files/country-ids.csv
              openborders: /home/ors/files/open-borders.csv

Hi @star_gazer,

How are you running ors? (Docker, Jar, native etc.)

Depending on the answer, the ors.engine.elevation.cache_path looks a bit out of place with ./elevation_cache.

Not sure how your pipline works, but the download of the elevation data is a bit unstable due to the server providing the tiles.
Make sure this is persisted and not downloaded each time.

Not sure if you can do smth. wrong with the settings for borders as well
@andrzej might know more.

Best regards

Hi @amandus,

thank you for the response!

We are running the Docker Image (openrouteservice/openrouteservice:v8.0.0) on Azure Kubernetes Service.

The elevation_data, graphs, source_files, borders, etc are stored on a volume and not downloaded again.

The settings for the borders look as follows:
Boundaries:
have been downloaded from https://osm-boundaries.com/

IDs:
“country_id”,“name”,“name:en”,“iso_code_cca2”,“iso_code_cca3”
“1”,“Albania”,“Albania”,“AL”,“ALB”
“2”,“Andorra”,“Andorra”,“AD”,“AND”
“3”,“Austria”,“Austria”,“AT”,“AUT”
“4”,“Belarus”,“Belarus”,“BY”,“BLR”
“5”,“Belgium”,“Belgium”,“BE”,“BEL”

Openborders:
“country1”,“country2”
“Austria”,“Czech Republic”
“Austria”,“Germany”
“Austria”,“Hungary”

These are the logs so far. Could it be that only a single thread is being used?

2024-06-05 00:43:48 INFO                                                  main [ o.h.o.a.Application                      ]   Starting Application v8.0.0 using Java 21.0.2 with PID 1 (/ors.jar started by root in /home/ors │
│ )                                                                                                                                                                                                                             │
│ 2024-06-05 00:43:48 INFO                                                  main [ o.h.o.a.Application                      ]   The following 1 profile is active: "default"                                                    │
│ 2024-06-05 00:43:49 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]                                                                                                   │
│ 2024-06-05 00:43:49 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]   Configuration lookup started.                                                                   │
│ 2024-06-05 00:43:49 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]   Configuration file set by environment variable.                                                 │
│ 2024-06-05 00:43:49 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]   Loaded file '/home/ors/config/ors-config.yml'                                                   │
│ 2024-06-05 00:43:49 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]   Configuration lookup finished.                                                                  │
│ 2024-06-05 00:43:49 INFO                                                  main [ o.h.o.a.ORSEnvironmentPostProcessor      ]                                                                                                   │
│ 2024-06-05 00:43:50 INFO                                              ORS-Init [ o.h.o.a.s.l.ORSInitContextListener       ]   Initializing ORS...                                                                             │
│ 2024-06-05 00:43:50 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   Total - 80 GB, Free - 79.87 GB, Max: 100 GB, Used - 137.48 MB                                   │
│ 2024-06-05 00:43:50 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   ====> Initializing profiles from '/home/ors/files/osm_file.pbf' (1 threads) ...
 2024-06-05 00:43:50 INFO                                              ORS-Init [ o.h.o.r.RoutingProfileManager            ]   1 profile configurations submitted as tasks.                                                    │
│ 2024-06-05 00:43:50 INFO                                            ORS-pl-car [ o.h.o.r.RoutingProfile                   ]   [1] Profiles: 'driving-car', location: '/home/ors/graphs/car'.                                  │
│ 2024-06-05 00:43:50 INFO                                            ORS-pl-car [ o.h.o.r.g.e.c.CoreLMPreparationHandler   ]   Loaded landmark splitting collection from                                                       │
│ 2024-06-05 00:43:51 INFO                                            ORS-pl-car [ o.h.o.r.g.e.r.b.CountryBordersReader     ]   Border geometries read                                                                          │
│ 2024-06-05 00:43:51 INFO                                            ORS-pl-car [ o.h.o.r.g.e.r.b.CountryBordersReader     ]   46 countries read in 1 hiearchies                                                               │
│ 2024-06-05 00:43:51 INFO                                            ORS-pl-car [ o.h.o.r.g.e.r.b.CountryBordersReader     ]   46 country IDs read                                                                             │
│ 2024-06-05 00:43:51 INFO                                            ORS-pl-car [ o.h.o.r.g.e.r.b.CountryBordersReader     ]   ISO 3166-1 CCA2 codes enabled for all countries                                                 │
│ 2024-06-05 00:43:51 INFO                                            ORS-pl-car [ o.h.o.r.g.e.r.b.CountryBordersReader     ]   ISO 3166-1 CCA3 codes enabled for all countries                                                 │
│ 2024-06-05 00:43:51 INFO                                            ORS-pl-car [ o.h.o.r.g.e.r.b.CountryBordersReader     ]   Border ids data read                                                                            │
│ 2024-06-05 00:43:51 INFO                                            ORS-pl-car [ o.h.o.r.g.e.r.b.CountryBordersReader     ]   Border openness data read                                                                       │
│ 2024-06-05 00:43:51 INFO                                            ORS-pl-car [ o.h.o.r.g.e.ORSGraphHopper               ]   version v4.9.1|2024-01-17T09:08:46Z (7,20,5,4,5,7)                                              │
│ 2024-06-05 00:43:51 INFO                                            ORS-pl-car [ o.h.o.r.g.e.ORSGraphHopper               ]   graph CH|car_ors|RAM_STORE|3D|turn_cost|,,,,, details:edges:0(0MB), nodes:0(0MB), name:(0MB), g │
│ eo:0(0MB), bounds:1.7976931348623157E308,-1.7976931348623157E308,1.7976931348623157E308,-1.7976931348623157E308,1.7976931348623157E308,-1.7976931348623157E308, shortcuts:0 (0MB), nodesCH:-1 (0MB), shortcuts:0 (0MB), nodes │
│ CH:-1 (0MB), shortcuts:0 (0MB), nodesCH:-1 (0MB) 
2024-06-05 00:43:51 INFO                                            ORS-pl-car [ o.h.o.r.g.e.ORSGraphHopper               ]   No custom areas are used, custom_areas.directory not given                                      │
│ 2024-06-05 00:43:51 INFO                                            ORS-pl-car [ o.h.o.r.g.e.ORSGraphHopper               ]   start creating graph from /home/ors/files/osm_file.pbf                                          │
│ 2024-06-05 00:43:51 INFO                                            ORS-pl-car [ o.h.o.r.g.e.ORSGraphHopper               ]   using CH|car_ors|RAM_STORE|3D|turn_cost|,,,,, memory:totalMB:81920, usedMB:569                  │
│ 2024-06-05 00:43:51 INFO                                                  main [ o.h.o.a.Application                      ]   Started Application in 3.007 seconds (process running for 3.887)                                │
│ 2024-06-05 00:43:51 INFO                                                  main [ o.h.o.a.Application                      ]   openrouteservice {"build_date":"2024-03-21T13:55:54Z","version":"8.0.0"}                        │
│ 2024-06-08 23:29:38 WARN                                            ORS-pl-car [ c.g.r.o.OSMReader                        ]   Pillar node 1704877217 is already a tower node and used in loop, see #1533. Fix mapping for way │
│  141631672, nodes:[286834584, 10566476396, 8848434754, 1704877217, 1704877217, 300679229, 2412741624, 1539968951, 1704877205, 305056643, 575597123, 2018304195, 2018304184, 2018304179, 575597121, 385679538]                 │
│ 2024-06-11 05:02:08 WARN                                            ORS-pl-car [ c.g.r.o.OSMReader                        ]   Pillar node 2627766499 is already a tower node and used in loop, see #1533. Fix mapping for way │
│  237404206, nodes:[2624619489, 2624619493, 2624619496, 2624619500, 2624619504, 2624619511, 3134177405, 2624619514, 2624619529, 2624619535, 2624619559, 2624619565, 2624619567, 2624619571, 2624619573, 2624619583, 2624619609 │
│ , 2624619613, 2624619622, 2624619625, 2624619628, 2624619632, 2624619645, 2624619663, 2624619670, 2624619671, 2624619673, 2624619683, 2624619691, 2624619694, 2624619703, 2624619714, 2624619741, 2624619778, 2624619795, 262 │
│ 4619822, 2624619826, 2624619828, 2624619837, 2624619854, 2624619878, 2624619896, 2624619918, 2624619944, 2624620036, 2624620072, 2624620100, 2624620115, 2624620129, 2624620138, 2624620142, 2624620149, 2624620169, 26246202 │
│ 01, 2624620231, 2453100421, 2453100545, 2453100551, 2627766397, 2627766423, 2627766496, 2627766499, 2627766499, 2627766537, 2627766547, 2627766572, 2627766600, 2627766625, 2467469134]

Thank you and best regards