Page MenuHomePhabricator

How to setup ChronologyProtector properly?
Open, Needs TriagePublic

Description

Keep receiving [DBReplication] Cannot use ChronologyProtector with EmptyBagOStuff. in debug log.

https://www.mediawiki.org/wiki/Manual:MediaWiki_architecture#Database_and_text_storage explain the Chronology Protector as following:

MediaWiki's "chronology protector" ensures that replication lag never causes a user to see a page that claims an action they've just performed hasn't happened yet. This is done by storing the master's position in the user's session if a request they made resulted in a write query. The next time the user makes a read request, the load balancer read this position from the session, and tries to select a slave that has caught up to that replication position to serve the request. If none is available, it will wait until one is. It may appear to other users as though the action hasn't happened yet, but the chronology remains consistent for each user.

However, we don't find any article or information about how to set up the Chronology Protector. Neither in https://www.mediawiki.org/wiki/Manual:$wgLBFactoryConf nor https://doc.wikimedia.org/mediawiki-core/master/php/ChronologyProtector_8php_source.html.

Could anyone pleased to explain how to use Chronology Protector for Mediawiki?

Thank you in advance!

Event Timeline

Zoglun created this task.Feb 10 2019, 2:24 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptFeb 10 2019, 2:24 PM
Krinkle moved this task from Backlog to libs/rdbms on the MediaWiki-Database board.Apr 3 2019, 2:50 AM