This avoids "Got COMMIT while atomic sections X are still open"
if the this DB had active transactions when an error occurred.
Change-Id: I1e2eb3a3382537108ecb269c483d2e62a218b656
MWExceptionHandler::logException( $ePrior );
}
$ePrior = $e;
+ // Some callbacks may use startAtomic/endAtomic, so make sure
+ // their transactions are ended so other callbacks don't fail
+ if ( $this->trxLevel() ) {
+ $this->rollback( __METHOD__ );
+ }
}
}
} while ( count( $this->mTrxIdleCallbacks ) );