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 {