Fix bug in load balancer: filter out non-replicating slaves (or slaves otherwise...
authorRoan Kattouw <catrope@users.mediawiki.org>
Sat, 27 Nov 2010 22:39:56 +0000 (22:39 +0000)
committerRoan Kattouw <catrope@users.mediawiki.org>
Sat, 27 Nov 2010 22:39:56 +0000 (22:39 +0000)
includes/db/LoadBalancer.php

index 797c391..355ed92 100644 (file)
@@ -120,11 +120,11 @@ class LoadBalancer {
                # Unset excessively lagged servers
                $lags = $this->getLagTimes( $wiki );
                foreach ( $lags as $i => $lag ) {
-                       if ( $i != 0 && isset( $this->mServers[$i]['max lag'] ) ) {
+                       if ( $i != 0 ) {
                                if ( $lag === false ) {
                                        wfDebug( "Server #$i is not replicating\n" );
                                        unset( $loads[$i] );
-                               } elseif ( $lag > $this->mServers[$i]['max lag'] ) {
+                               } elseif ( isset( $this->mServers[$i]['max lag'] ) && $lag > $this->mServers[$i]['max lag'] ) {
                                        wfDebug( "Server #$i is excessively lagged ($lag seconds)\n" );
                                        unset( $loads[$i] );
                                }