MediaWiki
REL1_22
|
Class for ensuring a consistent ordering of events as seen by the user, despite replication. More...
Public Member Functions | |
initLB (LoadBalancer $lb) | |
Initialise a LoadBalancer to give it appropriate chronology protection. | |
shutdown () | |
Notify the ChronologyProtector that the LBFactory is done calling shutdownLB() for now. | |
shutdownLB (LoadBalancer $lb) | |
Notify the ChronologyProtector that the LoadBalancer is about to shut down. | |
Protected Attributes | |
$initialized = false | |
Array | $shutdownPositions = array() |
(DB master name => position) * | |
Array | $startupPositions = array() |
(DB master name => position) * |
Class for ensuring a consistent ordering of events as seen by the user, despite replication.
Kind of like Hawking's [[Chronology Protection Agency]].
Definition at line 28 of file ChronologyProtector.php.
Initialise a LoadBalancer to give it appropriate chronology protection.
If the session has a previous master position recorded, this will try to make sure that the next query to a slave of that master will see changes up to that position by delaying execution. The delay may timeout and allow stale data if no non-lagged slaves are available.
$lb | LoadBalancer |
Definition at line 45 of file ChronologyProtector.php.
Notify the ChronologyProtector that the LBFactory is done calling shutdownLB() for now.
May commit chronology data to persistent storage.
Definition at line 97 of file ChronologyProtector.php.
Notify the ChronologyProtector that the LoadBalancer is about to shut down.
Saves replication positions.
$lb | LoadBalancer |
Definition at line 71 of file ChronologyProtector.php.
ChronologyProtector::$initialized = false [protected] |
Definition at line 32 of file ChronologyProtector.php.
Array ChronologyProtector::$shutdownPositions = array() [protected] |
(DB master name => position) *
Definition at line 30 of file ChronologyProtector.php.
Array ChronologyProtector::$startupPositions = array() [protected] |
(DB master name => position) *
Definition at line 29 of file ChronologyProtector.php.