AbuseFilter uses the global:abusefilter:rules:CENTRALWIKINAME:GROUPNAME cache key to store global filters. The key has a TTL of one week (see getWithSetCallback call), but it's touched every time a global filter is changed on the central wiki (see code).
While testing T253181 on the beta cluster, I added a new global rule on deploymentwiki, but it didn't work on enwiki, despite deploymentwiki being the central DB. So I used shell.php on deployment-deploy01.eqiad.wmflabs, and got the following:
>>> $gbr = AbuseFilter::getGlobalRulesKey('default'); => "global:abusefilter:rules:deploymentwiki:default" >>> $cache = \MediaWiki\MediaWikiServices::getInstance()->getMainWANObjectCache(); => WANObjectCache {#391} >>> $ttl = null; => null >>> $cache->get( $gbr, $ttl ) [ Long list of filters, NOT including the filter I had just modified ] >>> $ttl => 459577.06165004
I then used
>>> $cache->touchCheckKey( $gbr ) => true >>> $cache->get( $gbr, $ttl ) [ Same list as above ]
and then, (unsure when exactly) the filter got added to the cached list.
Is the delay expected, or is something not working (either in AF or WanObjectCache)?