Skip to content

Commit fd6b277

Browse files
coderbydesigntkan145
authored andcommitted
Ensure we don't schedule reloading configuration when reloading is disabled
Details of the issue as well as local reproducers are documented in 3scale#1467. This change ensures that when `boot.init_worker` checks to see whether or not the configuration needs to be reloaded, it also checks to confirm that the `boot.ttl()` value set from `APICAST_CONFIGURATION_CACHE` is a positive number, in order to avoid an immediate and infinite recursive loop of refreshing the configuration. This should still preserve the initial fix [1] where this regression appears to have been introduced, as we should never schedule reloading with the configuration settings of: ``` APICAST_CONFIGURATION_LOADER: boot APICAST_CONFIGURATION_CACHE: -1 ``` We should also never have a situation where we'd need to account for `interval = 0` since we fail out in `boot.init` in that case [2]. Tested locally as documented in the issue, however based on the comment in the initial fix PR, I've not added any tests in code. Happy to do so if there's now a good way to accomplish that! [1] 3scale#1399 [2] https://github.com/3scale/APIcast/blob/7e7eaf6f1d584c78d999c0d09f5b65203161c402/gateway/src/apicast/configuration_loader.lua#L146-L149
1 parent 8c94b99 commit fd6b277

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

gateway/src/apicast/configuration_loader.lua

+1-1
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ function boot.init_worker(configuration)
209209
-- When a worker process is (re-)spawned,
210210
-- it will start working with fresh (according the ttl semantics) configuration
211211
local boot_reserved_hosts = configuration:find_by_host(boot_reserved_domain, false)
212-
if(#boot_reserved_hosts == 0)
212+
if(#boot_reserved_hosts == 0 and interval > 0)
213213
then
214214
-- the boot configuration has expired, load fresh config
215215
ngx.log(ngx.INFO, 'boot time configuration has expired')

0 commit comments

Comments
 (0)