Author: catholicon
Date: Wed Apr 24 07:54:02 2019
New Revision: 1858032

URL: http://svn.apache.org/viewvc?rev=1858032&view=rev
Log:
OAK-8258: Active deletion can delete blobs despite indexing cycle deleting them 
failed

Setup indexing failed flag after merge completes successfully instead of
catching a class of exception - this should be more resilient in other
kind of failures while indexing.

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java

Modified: 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java?rev=1858032&r1=1858031&r2=1858032&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java
 Wed Apr 24 07:54:02 2019
@@ -716,7 +716,7 @@ public class AsyncIndexUpdate implements
         // task will take care of it
         taskSplitter.maybeSplit(beforeCheckpoint, callback.lease);
         IndexUpdate indexUpdate = null;
-        boolean indexingFailed = false;
+        boolean indexingFailed = true;
         try {
             NodeBuilder builder = store.getRoot().builder();
 
@@ -772,6 +772,8 @@ public class AsyncIndexUpdate implements
             }
             mergeWithConcurrencyCheck(store, validatorProviders, builder, 
beforeCheckpoint,
                     callback.lease, name);
+            indexingFailed = false;
+
             if (indexUpdate.isReindexingPerformed()) {
                 log.info("[{}] Reindexing completed for indexes: {} in {} ({} 
ms)",
                         name, indexUpdate.getReindexStats(), 
@@ -780,9 +782,6 @@ public class AsyncIndexUpdate implements
             }
 
             
corruptIndexHandler.markWorkingIndexes(indexUpdate.getUpdatedIndexPaths());
-        } catch (Exception e) {
-            indexingFailed = true;
-            throw e;
         } finally {
             if (indexUpdate != null) {
                 if ( !indexingFailed ) {


Reply via email to