Daniel Kinzler has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/401520 )
Change subject: getConnection( getWriterIndex() ) should return master
connection.
......................................................................
getConnection( getWriterIndex() ) should return master connection.
Change-Id: I48ea3cbb5da27b8d2b1908eae8bc0b208b166b45
---
M includes/libs/rdbms/loadbalancer/LoadBalancer.php
M tests/phpunit/includes/db/LoadBalancerTest.php
2 files changed, 6 insertions(+), 1 deletion(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/20/401520/1
diff --git a/includes/libs/rdbms/loadbalancer/LoadBalancer.php
b/includes/libs/rdbms/loadbalancer/LoadBalancer.php
index 1bb627c..daa70a4 100644
--- a/includes/libs/rdbms/loadbalancer/LoadBalancer.php
+++ b/includes/libs/rdbms/loadbalancer/LoadBalancer.php
@@ -648,7 +648,7 @@
if ( $i == self::DB_MASTER ) {
$i = $this->getWriterIndex();
- } else {
+ } elseif ( $i == self::DB_REPLICA ) {
# Try to find an available server in any the query
groups (in order)
foreach ( $groups as $group ) {
$groupIndex = $this->getReaderIndex( $group,
$domain );
diff --git a/tests/phpunit/includes/db/LoadBalancerTest.php
b/tests/phpunit/includes/db/LoadBalancerTest.php
index 17aa994..9b82c54 100644
--- a/tests/phpunit/includes/db/LoadBalancerTest.php
+++ b/tests/phpunit/includes/db/LoadBalancerTest.php
@@ -118,6 +118,11 @@
$this->assertTrue( $dbw->getFlag( $dbw::DBO_TRX ), "DBO_TRX set
on master" );
$this->assertWriteAllowed( $dbw );
+ $db0 = $lb->getConnection( $lb->getWriterIndex() );
+ $this->assertSame( $dbw, $db0, 'getWriterIndex() is equivalent
to DB_MASTER' );
+ $this->assertTrue( $db0->getLBInfo( 'master' ), 'Writer shows
as master' );
+ $this->assertWriteAllowed( $db0 );
+
$dbr = $lb->getConnection( DB_REPLICA );
$this->assertNotSame( $dbw, $dbr, 'Replica connection is not
master connection' );
$this->assertTrue( $dbr->getLBInfo( 'replica' ), 'replica shows
as replica' );
--
To view, visit https://gerrit.wikimedia.org/r/401520
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I48ea3cbb5da27b8d2b1908eae8bc0b208b166b45
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Daniel Kinzler <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits