Use rollbackMasterChanges() instead so that all DBs get reverted.
Otherwise, external DB updates may get committed while related local
DB changes are rolled back.
Change-Id: I74de77f4b12dc15c0473c272d090caeeb97d6983
$dbw->endAtomic( __METHOD__ );
} else {
// Page deleted but file still there? rollback page delete
$dbw->endAtomic( __METHOD__ );
} else {
// Page deleted but file still there? rollback page delete
- $dbw->rollback( __METHOD__ );
+ wfGetLBFactory()->rollbackMasterChanges( __METHOD__ );
}
} else {
// Done; nothing changed
}
} else {
// Done; nothing changed
// Move files, if there are any
$status->merge( $this->doPreCommitUpdates() );
if ( !$status->isOK() ) {
// Move files, if there are any
$status->merge( $this->doPreCommitUpdates() );
if ( !$status->isOK() ) {
- // Fatal error, such as no configured archive directory
- $dbw->rollback( __METHOD__ );
+ // Fatal error, such as no configured archive directory or I/O failures
+ wfGetLBFactory()->rollbackMasterChanges( __METHOD__ );