Avoid calling rollback() in handleWriteError() if there is no trx
authorAaron Schulz <aschulz@wikimedia.org>
Tue, 24 Feb 2015 19:34:23 +0000 (11:34 -0800)
committerAaron Schulz <aschulz@wikimedia.org>
Tue, 24 Feb 2015 19:34:23 +0000 (11:34 -0800)
Change-Id: Ic3be89151160ad57acda5d95e3995a77f3835717

includes/objectcache/SqlBagOStuff.php

index df878f7..2fb9ff9 100644 (file)
@@ -731,9 +731,11 @@ class SqlBagOStuff extends BagOStuff {
                        $this->markServerDown( $exception, $serverIndex );
                }
                if ( $exception->db && $exception->db->wasReadOnlyError() ) {
-                       try {
-                               $exception->db->rollback( __METHOD__ );
-                       } catch ( DBError $e ) {
+                       if ( $exception->db->trxLevel() ) {
+                               try {
+                                       $exception->db->rollback( __METHOD__ );
+                               } catch ( DBError $e ) {
+                               }
                        }
                }