Author: chetanm
Date: Mon Feb 1 07:09:22 2016
New Revision: 1727893
URL: http://svn.apache.org/viewvc?rev=1727893&view=rev
Log:
OAK-3923 - Async indexing delayed by 30 minutes because stop order is incorrect
Support multiple close calls. Without this change a second close call would go
for timeout and hence would cause unnecessary delay
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdate.java
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdateTest.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=1727893&r1=1727892&r2=1727893&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 Feb 1 07:09:22 2016
@@ -332,6 +332,9 @@ public class AsyncIndexUpdate implements
@Override
public void close() {
+ if (closed) {
+ return;
+ }
int hardTimeOut = 5 * softTimeOutSecs;
if(!runPermit.tryAcquire()){
//First let current run complete without bothering it
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdateTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdateTest.java?rev=1727893&r1=1727892&r2=1727893&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdateTest.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/AsyncIndexUpdateTest.java
Mon Feb 1 07:09:22 2016
@@ -1046,6 +1046,8 @@ public class AsyncIndexUpdateTest {
assertThat(lc.getLogs().get(0), containsString("Could not acquire run
permit"));
lc.finished();
+
+ async.close();
}
@Test