After fixing T175123, we find that tileshell does not exit after being notified of updates. Some investigation have been done in T175123#3652557 and T175123#3653195. gdb does not give us much info: P6068.
tileshell is run as:
/usr/bin/nodejs /srv/deployment/tilerator/deploy/src/scripts/tileshell.js \ --config /etc/tileratorui/config.yaml \ -j.fromZoom 10 \ -j.beforeZoom 16 \ -j.generatorId gen \ -j.storageId v3 \ -j.deleteEmpty \ -j.expdirpath /srv/osm_expire/ \ -j.expmask 'expire\.list\.*' \ -j.statefile /var/run/tileratorui/expire.state
We expect tileshell to read the list of expired tiles in /srv/osm_expire/, enqueue jobs in redis to regenerate those tiles, update /var/run/tileratorui/expire.state and exit. While it seems to do its actual job, it does not exit... which blocks the OSM replication.