From 94d5c2bf6df0ea3bdc08f2bdfec0b7da27c4c17c Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Wed, 5 Oct 2016 17:53:35 -0700 Subject: [PATCH] Ignore reuseConnection() errors after LoadBalancer/LBFactory destruction Bug: T147520 Change-Id: I9fe6acb0ab24127c1e9f3279129ff46c6b480873 --- includes/libs/rdbms/loadbalancer/LoadBalancer.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/includes/libs/rdbms/loadbalancer/LoadBalancer.php b/includes/libs/rdbms/loadbalancer/LoadBalancer.php index 66e4fcf3d9..73aa23c683 100644 --- a/includes/libs/rdbms/loadbalancer/LoadBalancer.php +++ b/includes/libs/rdbms/loadbalancer/LoadBalancer.php @@ -614,6 +614,10 @@ class LoadBalancer implements ILoadBalancer { return; } + if ( $this->disabled ) { + return; // DBConnRef handle probably survived longer than the LoadBalancer + } + $domain = $conn->getDomainID(); if ( !isset( $this->mConns['foreignUsed'][$serverIndex][$domain] ) ) { throw new InvalidArgumentException( __METHOD__ . @@ -1533,6 +1537,6 @@ class LoadBalancer implements ILoadBalancer { function __destruct() { // Avoid connection leaks for sanity - $this->closeAll(); + $this->disable(); } } -- 2.20.1