Author: alexparvulescu Date: Mon Dec 5 14:45:52 2016 New Revision: 1772684
URL: http://svn.apache.org/viewvc?rev=1772684&view=rev Log: OAK-5216 AsyncIndexUpdate: CONCURRENT_UPDATE should contain relevant stacktrace 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=1772684&r1=1772683&r2=1772684&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 Mon Dec 5 14:45:52 2016 @@ -110,9 +110,6 @@ public class AsyncIndexUpdate implements private static final long DEFAULT_LIFETIME = TimeUnit.DAYS.toMillis(1000); - private static final CommitFailedException CONCURRENT_UPDATE = new CommitFailedException( - "Async", 1, "Concurrent update detected"); - private static final CommitFailedException INTERRUPTED = new CommitFailedException( "Async", 1, "Indexing stopped forcefully"); @@ -284,7 +281,7 @@ public class AsyncIndexUpdate implements this.lease = now + 2 * leaseTimeOut; long beforeLease = async.getLong(leaseName); if (beforeLease > now) { - throw CONCURRENT_UPDATE; + throw newConcurrentUpdateException(); } NodeBuilder builder = root.builder(); @@ -453,7 +450,7 @@ public class AsyncIndexUpdate implements long leaseExpMsg = (leaseEndTime - currentTime) / 1000; String err = String.format("Another copy of the index update is already running; skipping this update. " + "Time left for lease to expire %d s. Indexing can resume by %tT", leaseExpMsg, leaseEndTime); - indexStats.failed(new Exception(err, CONCURRENT_UPDATE)); + indexStats.failed(new Exception(err, newConcurrentUpdateException())); return; } } @@ -772,7 +769,7 @@ public class AsyncIndexUpdate implements (lease == null || lease == async.getLong(leasify(name)))) { return after; } else { - throw CONCURRENT_UPDATE; + throw newConcurrentUpdateException(); } } }; @@ -789,7 +786,7 @@ public class AsyncIndexUpdate implements } catch (CommitFailedException ex) { // OAK-2961 if (ex.isOfType(CommitFailedException.STATE) && ex.getCode() == 1) { - throw CONCURRENT_UPDATE; + throw newConcurrentUpdateException(); } else { throw ex; } @@ -1392,4 +1389,7 @@ public class AsyncIndexUpdate implements return name; } + private static CommitFailedException newConcurrentUpdateException() { + return new CommitFailedException("Async", 1, "Concurrent update detected"); + } }
