Do not let DataUpdate exceptions block other deferred updates
authorAaron Schulz <aschulz@wikimedia.org>
Tue, 26 Apr 2016 21:06:51 +0000 (14:06 -0700)
committerAaron Schulz <aschulz@wikimedia.org>
Tue, 26 Apr 2016 21:06:51 +0000 (14:06 -0700)
Change-Id: Ida563b29b5450c44358155fc937cd7eeb87090c2

includes/deferred/DeferredUpdates.php

index 249b207..e3b7570 100644 (file)
@@ -144,7 +144,12 @@ class DeferredUpdates {
                        }
 
                        // Delegate DataUpdate execution to the DataUpdate class
-                       DataUpdate::runUpdates( $dataUpdates, $mode );
+                       try {
+                               DataUpdate::runUpdates( $dataUpdates, $mode );
+                       } catch ( Exception $e ) {
+                               // Let the other updates occur if these had to rollback
+                               MWExceptionHandler::logException( $e );
+                       }
                        // Execute the non-DataUpdate tasks
                        foreach ( $otherUpdates as $update ) {
                                try {