Make Database::__clone() a bit more robust using handleSessionLoss()
authorAaron Schulz <aschulz@wikimedia.org>
Wed, 21 Sep 2016 21:25:00 +0000 (14:25 -0700)
committerAaron Schulz <aschulz@wikimedia.org>
Thu, 22 Sep 2016 20:38:47 +0000 (20:38 +0000)
Change-Id: I6c16abceea612a7b1167b9cca70a174fa6b77020

includes/libs/rdbms/database/Database.php

index 0bd1e9e..6f50844 100644 (file)
@@ -3513,7 +3513,8 @@ abstract class Database implements IDatabase, LoggerAwareInterface {
                        // Open a new connection resource without messing with the old one
                        $this->mOpened = false;
                        $this->mConn = false;
-                       $this->mTrxLevel = 0; // no trx anymore
+                       $this->mTrxEndCallbacks = []; // don't copy
+                       $this->handleSessionLoss(); // no trx or locks anymore
                        $this->open( $this->mServer, $this->mUser, $this->mPassword, $this->mDBname );
                        $this->lastPing = microtime( true );
                }