From c607b2e60fce8783655963b502bf03d098857165 Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Thu, 22 Sep 2016 15:19:17 -0700 Subject: [PATCH] Add DBConnRef sanity check to LoadBalancer::reuseConnection() Change-Id: I6b079b994f29c5f7953efe73982ef9e6946a21f8 --- includes/libs/rdbms/loadbalancer/LoadBalancer.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/includes/libs/rdbms/loadbalancer/LoadBalancer.php b/includes/libs/rdbms/loadbalancer/LoadBalancer.php index c030cb20ae..bda185a266 100644 --- a/includes/libs/rdbms/loadbalancer/LoadBalancer.php +++ b/includes/libs/rdbms/loadbalancer/LoadBalancer.php @@ -597,6 +597,13 @@ class LoadBalancer implements ILoadBalancer { * should be ignored */ return; + } elseif ( $conn instanceof DBConnRef ) { + // DBConnRef already handles calling reuseConnection() and only passes the live + // Database instance to this method. Any caller passing in a DBConnRef is broken. + $this->connLogger->error( __METHOD__ . ": got DBConnRef instance.\n" . + ( new RuntimeException() )->getTraceAsString() ); + + return; } $domain = $conn->getDomainID(); -- 2.20.1