Author: chetanm
Date: Mon Mar 31 09:09:43 2014
New Revision: 1583269

URL: http://svn.apache.org/r1583269
Log:
OAK-1647 - AsyncIndexUpdateTask creating too many checkpoint

Moved the check for job already running before the checkpoint is created. This 
would ensure that lesser number of checkpoint get created if job is already 
running

Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/Checkpoints.java
    
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/document/Checkpoints.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/Checkpoints.java?rev=1583269&r1=1583268&r2=1583269&view=diff
==============================================================================
--- 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/Checkpoints.java
 (original)
+++ 
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/Checkpoints.java
 Mon Mar 31 09:09:43 2014
@@ -110,7 +110,7 @@ class Checkpoints {
 
         if (op.hasChanges()) {
             store.findAndUpdate(Collection.SETTINGS, op);
-            log.info("Purged {} expired checkpoints", op.getChanges().size());
+            log.debug("Purged {} expired checkpoints", op.getChanges().size());
         }
 
         return lastAliveRevision;

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=1583269&r1=1583268&r2=1583269&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 Mar 31 09:09:43 2014
@@ -112,6 +112,12 @@ public class AsyncIndexUpdate implements
     @Override
     public synchronized void run() {
         log.debug("Running background index task {}", name);
+
+        if(isAlreadyRunning(store)){
+            log.debug("Async job found to be already running. Skipping");
+            return;
+        }
+
         String checkpoint = store.checkpoint(lifetime);
         NodeState after = store.retrieve(checkpoint);
         if (after == null) {
@@ -119,11 +125,6 @@ public class AsyncIndexUpdate implements
             return;
         }
 
-        if(isAlreadyRunning(store)){
-            log.debug("Async job found to be already running. Skipping");
-            return;
-        }
-
         NodeBuilder builder = store.getRoot().builder();
         NodeBuilder async = builder.child(ASYNC);
 


Reply via email to