Manual:$wgCdnReboundPurgeDelay

From mediawiki.org
HTTP proxy (CDN) settings: $wgCdnReboundPurgeDelay
Secondary delayed purges of URLs
Introduced in version:1.27.0 (Gerrit change 252895; git #01c2b0a4)
Removed in version:still in use
Allowed values:(positive integer, which represents a number of seconds)
Default value:0

See also task T113192.

Allows to provide secondary delayed purges of URLs from CDN to mitigate DB replication lag and WAN cache purge lag.

If set, any SquidPurge call on a URL or URLs will send a second purge no less than this many seconds later via the job queue. This requires delayed job support.

This should be safely higher than the 'max lag' value in $wgLBFactoryConf , so that replication lag does not cause page to be stuck in stales states in CDN.

This also fixes race conditions in two-tiered CDN setups (e.g. cdn2 => cdn1 => MediaWiki). If a purge for a URL reaches cdn2 before cdn1 and a request reaches cdn2 for that URL, it will populate the response from the stale cdn1 value. When cdn1 gets the purge, cdn2 will still be stale. If the rebound purge delay is safely higher than the time to relay purge to all nodes, then the rebound purge will clear cdn2 after cdn1 was cleared.