MediaWiki master
ILoadBalancerForOwner.php
Go to the documentation of this file.
1<?php
20namespace Wikimedia\Rdbms;
21
22use Exception;
23
35 public const STAGE_POSTCOMMIT_CALLBACKS = 'stage-postcommit-callbacks';
37 public const STAGE_POSTROLLBACK_CALLBACKS = 'stage-postrollback-callbacks';
38
71 public function __construct( array $params );
72
80 public function disable( $fname = __METHOD__ );
81
88 public function closeAll( $fname = __METHOD__ );
89
99 public function finalizePrimaryChanges( $fname = __METHOD__ );
100
111 public function approvePrimaryChanges( int $maxWriteDuration, $fname = __METHOD__ );
112
125 public function beginPrimaryChanges( $fname = __METHOD__ );
126
133 public function commitPrimaryChanges( $fname = __METHOD__ );
134
142 public function runPrimaryTransactionIdleCallbacks( $fname = __METHOD__ );
143
151 public function runPrimaryTransactionListenerCallbacks( $fname = __METHOD__ );
152
160 public function rollbackPrimaryChanges( $fname = __METHOD__ );
161
171 public function flushPrimarySessions( $fname = __METHOD__ );
172
178 public function flushReplicaSnapshots( $fname = __METHOD__ );
179
188 public function flushPrimarySnapshots( $fname = __METHOD__ );
189
197
204 public function setLocalDomainPrefix( $prefix );
205
218 public function reconfigure( array $conf );
219
226 public function redefineLocalDomain( $domain );
227
232 public function hasPrimaryConnection();
233
246 public function setIndexAliases( array $aliases );
247
253 public function lastPrimaryChangeTimestamp();
254
265 public function waitForAll( DBPrimaryPos $pos, $timeout = null );
266}
array $params
The job parameters.
An object representing a primary or replica DB position in a replicated setup.
Internal interface for LoadBalancer methods used by LBFactory.
flushPrimarySnapshots( $fname=__METHOD__)
Commit all primary DB transactions so as to flush any REPEATABLE-READ or SSI snapshots.
beginPrimaryChanges( $fname=__METHOD__)
Flush any primary transaction snapshots and set DBO_TRX (if DBO_DEFAULT is set)
setIndexAliases(array $aliases)
Convert certain index names to alternative names before querying the DB.
pendingPrimaryChangeCallers()
Get the list of callers that have pending primary changes.
setLocalDomainPrefix( $prefix)
Set a new table prefix for the existing local domain ID for testing.
flushPrimarySessions( $fname=__METHOD__)
Release/destroy session-level named locks, table locks, and temp tables.
reconfigure(array $conf)
Reconfigure using the given config array.
commitPrimaryChanges( $fname=__METHOD__)
Issue COMMIT on all open primary connections to flush changes and view snapshots.
finalizePrimaryChanges( $fname=__METHOD__)
Run pre-commit callbacks and defer execution of post-commit callbacks.
waitForAll(DBPrimaryPos $pos, $timeout=null)
Set the primary wait position and wait for ALL replica DBs to catch up to it.
lastPrimaryChangeTimestamp()
Get the timestamp of the latest write query done by this thread.
const STAGE_POSTROLLBACK_CALLBACKS
Manager of ILoadBalancer instances is running post-rollback callbacks.
runPrimaryTransactionListenerCallbacks( $fname=__METHOD__)
Run all recurring post-COMMIT/ROLLBACK listener callbacks.
redefineLocalDomain( $domain)
Close all connection and redefine the local domain for testing or schema creation.
closeAll( $fname=__METHOD__)
Close all open connections.
approvePrimaryChanges(int $maxWriteDuration, $fname=__METHOD__)
Perform all pre-commit checks for things like replication safety.
rollbackPrimaryChanges( $fname=__METHOD__)
Issue ROLLBACK only on primary, only if queries were done on connection.
disable( $fname=__METHOD__)
Close all connections and disable this load balancer.
flushReplicaSnapshots( $fname=__METHOD__)
Commit all replica DB transactions so as to flush any REPEATABLE-READ or SSI snapshots.
const STAGE_POSTCOMMIT_CALLBACKS
Manager of ILoadBalancer instances is running post-commit callbacks.
runPrimaryTransactionIdleCallbacks( $fname=__METHOD__)
Consume and run all pending post-COMMIT/ROLLBACK callbacks and commit dangling transactions.
This class is a delegate to ILBFactory for a given database cluster.