MediaWiki  master
ILoadBalancerForOwner.php
Go to the documentation of this file.
1 <?php
20 namespace Wikimedia\Rdbms;
21 
22 use 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 
196  public function pendingPrimaryChangeCallers();
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 }
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.
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.