diff --git oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/scheduler/LockBasedScheduler.java oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/scheduler/LockBasedScheduler.java index 81bad80ecb..bdd9271076 100644 --- oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/scheduler/LockBasedScheduler.java +++ oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/scheduler/LockBasedScheduler.java @@ -118,6 +118,11 @@ public class LockBasedScheduler implements Scheduler { * create a checkpoint */ private final int checkpointsLockWaitTime = Integer.getInteger("oak.checkpoints.lockWaitTime", 10); + + /** + * Flag controlling the percentile of the commit time used when returning the current head state. + */ + private final int schedulerHeadLockWaitPercentile = Integer.getInteger("oak.scheduler.head.lockWaitPercentile", 50); static final String ROOT = "root"; @@ -155,7 +160,7 @@ public class LockBasedScheduler implements Scheduler { @Override public NodeState getHeadNodeState() { - long delay = (long) commitTimeStats.getPercentile(50); + long delay = (long) commitTimeStats.getPercentile(schedulerHeadLockWaitPercentile); try { if (commitSemaphore.tryAcquire(delay, NANOSECONDS)) { try {