Movatterモバイル変換


[0]ホーム

URL:


MediaWiki master
ILBFactory.php
Go to the documentation of this file.
1<?php
20namespaceWikimedia\Rdbms;
21
22use Generator;
23use InvalidArgumentException;
24
46interfaceILBFactoryextendsIConnectionProvider {
48publicconstSHUTDOWN_NORMAL = 0;
50publicconstSHUTDOWN_NO_CHRONPROT = 1;
51
53publicconstCLUSTER_MAIN_DEFAULT ='DEFAULT';
54
88publicfunction__construct( array $conf );
89
97publicfunctiondestroy();
98
103publicfunctionautoReconfigure(): void;
104
112publicfunctiongetLocalDomainID(): string;
113
124publicfunctionredefineLocalDomain( $domain );
125
138publicfunctiongetLoadBalancer( $domain =false ):ILoadBalancer;
139
158publicfunctionnewMainLB( $domain =false ):ILoadBalancerForOwner;
159
171publicfunctiongetMainLB( $domain =false ):ILoadBalancer;
172
188publicfunctionnewExternalLB( $cluster ):ILoadBalancerForOwner;
189
199publicfunctiongetExternalLB( $cluster ):ILoadBalancer;
200
211publicfunctiongetAllMainLBs(): array;
212
221publicfunctiongetAllExternalLBs(): array;
222
229publicfunctiongetAllLBs();
230
239publicfunctionshutdown(
240 $flags = self::SHUTDOWN_NORMAL,
241 ?callable $workCallback =null,
242 &$cpIndex =null,
243 &$cpClientId =null
244 );
245
256publicfunctionflushReplicaSnapshots( $fname = __METHOD__ );
257
283publicfunctionbeginPrimaryChanges( $fname = __METHOD__ );
284
300publicfunctioncommitPrimaryChanges( $fname = __METHOD__,int $maxWriteDuration = 0 );
301
310publicfunctionrollbackPrimaryChanges( $fname = __METHOD__ );
311
323publicfunctionflushPrimarySessions( $fname = __METHOD__ );
324
331publicfunctionhasTransactionRound();
332
341publicfunctionisReadyForRoundOperations();
342
351publicfunctionhasPrimaryChanges();
352
360publicfunctionlaggedReplicaUsed();
361
370publicfunctionhasOrMadeRecentPrimaryChanges( $age =null );
371
393publicfunctionwaitForReplication( array $opts = [] );
394
404publicfunctionsetWaitForReplicationListener( $name, ?callable $callback =null );
405
411publicfunctiondisableChronologyProtection();
412
419publicfunctionsetLocalDomainPrefix( $prefix );
420
426publicfunctioncloseAll( $fname = __METHOD__ );
427
431publicfunctionsetAgentName( $agent );
432
439publicfunctionhasStreamingReplicaServers();
440
448publicfunctionsetDefaultReplicationWaitTimeout( $seconds );
449
463publicfunctionsetTableAliases( array $aliases );
464
473publicfunctionsetDomainAliases( array $aliases );
474
481publicfunctiongetTransactionProfiler():TransactionProfiler;
482
497publicfunctiongetAutoCommitPrimaryConnection( $domain =false ):IDatabase;
498}
Wikimedia\Rdbms\TransactionProfiler
Detect high-contention DB queries via profiling calls.
DefinitionTransactionProfiler.php:40
Wikimedia\Rdbms\IConnectionProvider
Provide primary and replica IDatabase connections.
DefinitionIConnectionProvider.php:35
Wikimedia\Rdbms\IDatabase
Interface to a relational database.
DefinitionIDatabase.php:45
Wikimedia\Rdbms\ILBFactory
Manager of ILoadBalancer objects and, indirectly, IDatabase connections.
DefinitionILBFactory.php:46
Wikimedia\Rdbms\ILBFactory\getLocalDomainID
getLocalDomainID()
Get the local (and default) database domain ID of connection handles.
Wikimedia\Rdbms\ILBFactory\autoReconfigure
autoReconfigure()
Reload the configuration if necessary.
Wikimedia\Rdbms\ILBFactory\redefineLocalDomain
redefineLocalDomain( $domain)
Close all connections and redefine the local database domain.
Wikimedia\Rdbms\ILBFactory\beginPrimaryChanges
beginPrimaryChanges( $fname=__METHOD__)
Wrap subsequent queries for all transaction round aware primary connections in a transaction.
Wikimedia\Rdbms\ILBFactory\getAllExternalLBs
getAllExternalLBs()
Get the tracked load balancer instances for all external clusters.
Wikimedia\Rdbms\ILBFactory\setTableAliases
setTableAliases(array $aliases)
Make certain table names use their own database, schema, and table prefix when passed into SQL querie...
Wikimedia\Rdbms\ILBFactory\newMainLB
newMainLB( $domain=false)
Create a new load balancer instance for the main cluster that handles the given domain.
Wikimedia\Rdbms\ILBFactory\setLocalDomainPrefix
setLocalDomainPrefix( $prefix)
Set a new table prefix for the existing local domain ID for testing.
Wikimedia\Rdbms\ILBFactory\commitPrimaryChanges
commitPrimaryChanges( $fname=__METHOD__, int $maxWriteDuration=0)
Commit all primary connection transactions and flush all replica connection transactions.
Wikimedia\Rdbms\ILBFactory\hasPrimaryChanges
hasPrimaryChanges()
Determine if any primary connection has pending changes.
Wikimedia\Rdbms\ILBFactory\getLoadBalancer
getLoadBalancer( $domain=false)
Get the tracked load balancer instance for a given domain.
Wikimedia\Rdbms\ILBFactory\waitForReplication
waitForReplication(array $opts=[])
Waits for the replica database server to catch up to the current primary position.
Wikimedia\Rdbms\ILBFactory\rollbackPrimaryChanges
rollbackPrimaryChanges( $fname=__METHOD__)
Rollback all primary connection transactions and flush all replica connection transactions.
Wikimedia\Rdbms\ILBFactory\closeAll
closeAll( $fname=__METHOD__)
Close all connections on instantiated tracked load balancer instances.
Wikimedia\Rdbms\ILBFactory\flushPrimarySessions
flushPrimarySessions( $fname=__METHOD__)
Release important session-level state (named lock, table locks) as post-rollback cleanup.
Wikimedia\Rdbms\ILBFactory\__construct
__construct(array $conf)
Sub-classes may extend the required keys in $conf with additional parameters.
Wikimedia\Rdbms\ILBFactory\destroy
destroy()
Close all connections and make further attempts to open connections result in DBAccessError.
Wikimedia\Rdbms\ILBFactory\laggedReplicaUsed
laggedReplicaUsed()
Determine if any lagged replica database server connection was used.
Wikimedia\Rdbms\ILBFactory\getAllLBs
getAllLBs()
Get all tracked load balancer instances (generator)
Wikimedia\Rdbms\ILBFactory\setDomainAliases
setDomainAliases(array $aliases)
Convert certain database domains to alternative ones.
Wikimedia\Rdbms\ILBFactory\getExternalLB
getExternalLB( $cluster)
Get the tracked load balancer instance for an external cluster.
Wikimedia\Rdbms\ILBFactory\getMainLB
getMainLB( $domain=false)
Get the tracked load balancer instance for the main cluster that handles the given domain.
Wikimedia\Rdbms\ILBFactory\disableChronologyProtection
disableChronologyProtection()
Disable the ChronologyProtector on all instantiated tracked load balancer instances.
Wikimedia\Rdbms\ILBFactory\setDefaultReplicationWaitTimeout
setDefaultReplicationWaitTimeout( $seconds)
Set the default timeout for replication wait checks.
Wikimedia\Rdbms\ILBFactory\getAutoCommitPrimaryConnection
getAutoCommitPrimaryConnection( $domain=false)
Like IConnectionProvider::getPrimaryDatabase() but with AUTOCOMMIT mode.
Wikimedia\Rdbms\ILBFactory\SHUTDOWN_NO_CHRONPROT
const SHUTDOWN_NO_CHRONPROT
Do not save "session consistency" DB replication positions.
DefinitionILBFactory.php:50
Wikimedia\Rdbms\ILBFactory\hasTransactionRound
hasTransactionRound()
Check if an explicit transaction round is active.
Wikimedia\Rdbms\ILBFactory\SHUTDOWN_NORMAL
const SHUTDOWN_NORMAL
Idiom for "no special shutdown flags".
DefinitionILBFactory.php:48
Wikimedia\Rdbms\ILBFactory\hasStreamingReplicaServers
hasStreamingReplicaServers()
Whether it has streaming replica servers.
Wikimedia\Rdbms\ILBFactory\getAllMainLBs
getAllMainLBs()
Get the tracked load balancer instances for all main clusters.
Wikimedia\Rdbms\ILBFactory\shutdown
shutdown( $flags=self::SHUTDOWN_NORMAL, ?callable $workCallback=null, &$cpIndex=null, &$cpClientId=null)
Prepare all instantiated tracked load balancer instances for shutdown.
Wikimedia\Rdbms\ILBFactory\setAgentName
setAgentName( $agent)
Wikimedia\Rdbms\ILBFactory\setWaitForReplicationListener
setWaitForReplicationListener( $name, ?callable $callback=null)
Add a callback to be run in every call to waitForReplication() prior to any waiting.
Wikimedia\Rdbms\ILBFactory\CLUSTER_MAIN_DEFAULT
const CLUSTER_MAIN_DEFAULT
Default main cluster name (do not change this)
DefinitionILBFactory.php:53
Wikimedia\Rdbms\ILBFactory\getTransactionProfiler
getTransactionProfiler()
Get the TransactionProfiler used by this instance.
Wikimedia\Rdbms\ILBFactory\hasOrMadeRecentPrimaryChanges
hasOrMadeRecentPrimaryChanges( $age=null)
Determine if any primary connection has pending/written changes from this request.
Wikimedia\Rdbms\ILBFactory\newExternalLB
newExternalLB( $cluster)
Create a new load balancer instance for an external cluster.
Wikimedia\Rdbms\ILBFactory\isReadyForRoundOperations
isReadyForRoundOperations()
Check if transaction rounds can be started, committed, or rolled back right now.
Wikimedia\Rdbms\ILBFactory\flushReplicaSnapshots
flushReplicaSnapshots( $fname=__METHOD__)
Commit all replica database server transactions, clearing any point-in-time view snapshots.
Wikimedia\Rdbms\ILoadBalancerForOwner
Internal interface for load balancer instances exposed to their owner.
DefinitionILoadBalancerForOwner.php:34
Wikimedia\Rdbms\ILoadBalancer
This class is a delegate to ILBFactory for a given database cluster.
DefinitionILoadBalancer.php:113
Wikimedia\Rdbms
DefinitionChangedTablesTracker.php:3

[8]ページ先頭

©2009-2025 Movatter.jp