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 
96  public function commitAll( $fname = __METHOD__ );
97 
107  public function finalizePrimaryChanges( $fname = __METHOD__ );
108 
120  public function approvePrimaryChanges( array $options, $fname = __METHOD__ );
121 
135  public function beginPrimaryChanges( $fname = __METHOD__ );
136 
143  public function commitPrimaryChanges( $fname = __METHOD__ );
144 
152  public function runPrimaryTransactionIdleCallbacks( $fname = __METHOD__ );
153 
161  public function runPrimaryTransactionListenerCallbacks( $fname = __METHOD__ );
162 
170  public function rollbackPrimaryChanges( $fname = __METHOD__ );
171 
181  public function flushPrimarySessions( $fname = __METHOD__ );
182 
188  public function flushReplicaSnapshots( $fname = __METHOD__ );
189 
198  public function flushPrimarySnapshots( $fname = __METHOD__ );
199 
206  public function pendingPrimaryChangeCallers();
207 
214  public function forEachOpenConnection( $callback, array $params = [] );
215 
223  public function forEachOpenPrimaryConnection( $callback, array $params = [] );
224 
231  public function setLocalDomainPrefix( $prefix );
232 
245  public function reconfigure( array $conf );
246 }
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)
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.
closeAll( $fname=__METHOD__)
Close all open connections.
rollbackPrimaryChanges( $fname=__METHOD__)
Issue ROLLBACK only on primary, only if queries were done on connection.
forEachOpenPrimaryConnection( $callback, array $params=[])
Call a function with each open connection object to a primary.
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.
commitAll( $fname=__METHOD__)
Commit transactions on all open connections.
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.
approvePrimaryChanges(array $options, $fname=__METHOD__)
Perform all pre-commit checks for things like replication safety.
forEachOpenConnection( $callback, array $params=[])
Call a function with each open connection object.
This class is a delegate to ILBFactory for a given database cluster.