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);