In database mode each node caches its configuration and refreshes it on a timer. A change made through the Admin API is not instant everywhere, and a stale node can serve the old routing for seconds.
# kong.conf
db_update_frequency = 5 # seconds between cache refreshes
db_update_propagation = 0 # extra delay for eventually-consistent stores
db_cache_ttl = 0 # 0 = cache forever until invalidated
# force one node to forget everything
curl -X POST http://localhost:8001/cache/purge
# Timeline after a PATCH on one node, with db_update_frequency=5:
# t+0 node A serves the new config
# t+0-5 node B still serves the old one
# t+5 node B polls and catches up
#
# In DB-less mode there is no propagation at all - each node must be given
# the new file, which is why /config is usually driven by a deployment
# rather than by hand.
Run this yourself in the Online Java Compiler, spin up a live REST API in the API Sandbox, or practise with Java interview questions.
Published 2026-08-25