Redis Bloom Filter
- It has been suggested that this page should be merged with Redis
MediaWiki is configured to use a bloom filter located on a single Redis server (which a backup slave). Currently the servers are rbf1001 (master) and rbf1002 (slave). Both are used equally for read requests. AoF persistence is used in case of restarts or power outages.
The filter is partitioned across many Redis string values due to the 512MB object size limit in Redis. There is one large "shared" filter that many "virtual" filters can use. Some code may use it's own filter if desired however. The shared was created manually via eval.php:
BloomCache::get( 'main' )->init( 'shared', 1e9, .001 );
If the filter data is cleared, this step needs to be redone since it is not automatic.
The filters should keep themselves self up-to-date and will self-populate over time. Manual population can be done as follows (using just the "TitleHasLogs" filter as an example):
mwscript populateBloomCache.php testwiki --cache main --domain testwiki --filter TitleHasLogs
Current filters follow the interface in includes/cache/bloom/BloomFilters.php.