rdbms: make LBFactorySingle/LoadBalancerSingle set the local domain from the connection
authorAaron Schulz <aschulz@wikimedia.org>
Mon, 27 Aug 2018 18:50:24 +0000 (11:50 -0700)
committerAaron Schulz <aschulz@wikimedia.org>
Mon, 27 Aug 2018 18:50:24 +0000 (11:50 -0700)
Change-Id: I657cea85ae3838bc76e7eb50b9ca66db16746bde

includes/libs/rdbms/lbfactory/LBFactorySingle.php
includes/libs/rdbms/loadbalancer/LoadBalancerSingle.php

index 2c1a782..60044ba 100644 (file)
@@ -56,7 +56,11 @@ class LBFactorySingle extends LBFactory {
         * @since 1.28
         */
        public static function newFromConnection( IDatabase $db, array $params = [] ) {
-               return new static( [ 'connection' => $db ] + $params );
+               return new static( array_merge(
+                       [ 'localDomain' => $db->getDomainID() ],
+                       $params,
+                       [ 'connection' => $db ]
+               ) );
        }
 
        /**
index 1b72502..5c0af11 100644 (file)
@@ -54,7 +54,8 @@ class LoadBalancerSingle extends LoadBalancer {
                        ],
                        'trxProfiler' => $params['trxProfiler'] ?? null,
                        'srvCache' => $params['srvCache'] ?? null,
-                       'wanCache' => $params['wanCache'] ?? null
+                       'wanCache' => $params['wanCache'] ?? null,
+                       'localDomain' => $params['localDomain'] ?? $this->db->getDomainID()
                ] );
 
                if ( isset( $params['readOnlyReason'] ) ) {
@@ -69,7 +70,11 @@ class LoadBalancerSingle extends LoadBalancer {
         * @since 1.28
         */
        public static function newFromConnection( IDatabase $db, array $params = [] ) {
-               return new static( [ 'connection' => $db ] + $params );
+               return new static( array_merge(
+                       [ 'localDomain' => $db->getDomainID() ],
+                       $params,
+                       [ 'connection' => $db ]
+               ) );
        }
 
        protected function reallyOpenConnection( array $server, DatabaseDomain $domainOverride ) {