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

Reply via email to