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 {