You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ad...@apache.org on 2017/07/06 10:25:15 UTC

svn commit: r1801015 - /jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/scheduler/LockBasedScheduler.java

Author: adulceanu
Date: Thu Jul  6 10:25:15 2017
New Revision: 1801015

URL: http://svn.apache.org/viewvc?rev=1801015&view=rev
Log:
OAK-6428 - Add flag for controlling percentile of commit time used in scheduler

Modified:
    jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/scheduler/LockBasedScheduler.java

Modified: jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/scheduler/LockBasedScheduler.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/scheduler/LockBasedScheduler.java?rev=1801015&r1=1801014&r2=1801015&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/scheduler/LockBasedScheduler.java (original)
+++ jackrabbit/oak/trunk/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/scheduler/LockBasedScheduler.java Thu Jul  6 10:25:15 2017
@@ -114,11 +114,18 @@ public class LockBasedScheduler implemen
             .parseBoolean(System.getProperty("oak.segmentNodeStore.commitFairLock", "true"));
 
     /**
+     * Flag controlling the commit time percentile to wait for the lock in order
+     * to increase chances of returning an up to date state.
+     */
+    private static final int SCHEDULER_FETCH_COMMIT_DELAY_PERCENTILE = Integer
+            .getInteger("oak.scheduler.fetch.commitDelayPercentile", 50);
+    
+    /**
      * Sets the number of seconds to wait for the attempt to grab the lock to
      * create a checkpoint
      */
     private final int checkpointsLockWaitTime = Integer.getInteger("oak.checkpoints.lockWaitTime", 10);
-
+    
     static final String ROOT = "root";
 
     /**
@@ -155,7 +162,7 @@ public class LockBasedScheduler implemen
 
     @Override
     public NodeState getHeadNodeState() {
-        long delay = (long) commitTimeStats.getPercentile(50);
+        long delay = (long) commitTimeStats.getPercentile(SCHEDULER_FETCH_COMMIT_DELAY_PERCENTILE);
         try {
             if (commitSemaphore.tryAcquire(delay, NANOSECONDS)) {
                 try {