Author: stefanegli
Date: Thu Jul 7 15:51:13 2016
New Revision: 1751813
URL: http://svn.apache.org/viewvc?rev=1751813&view=rev
Log:
OAK-4534 : add trace logging to CommitRateLimiter
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/CommitRateLimiter.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/CommitRateLimiter.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/CommitRateLimiter.java?rev=1751813&r1=1751812&r2=1751813&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/CommitRateLimiter.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/observation/CommitRateLimiter.java
Thu Jul 7 15:51:13 2016
@@ -28,12 +28,15 @@ import org.apache.jackrabbit.oak.spi.com
import org.apache.jackrabbit.oak.spi.commit.CommitInfo;
import org.apache.jackrabbit.oak.spi.state.NodeState;
import org.apache.jackrabbit.oak.stats.Clock;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* This {@code CommitHook} can be used to block or delay commits for any
length of time.
* As long as commits are blocked this hook throws a {@code
CommitFailedException}.
*/
public class CommitRateLimiter implements CommitHook {
+ private static final Logger LOG =
LoggerFactory.getLogger(CommitRateLimiter.class);
private volatile boolean blockCommits;
private volatile long delay;
@@ -57,6 +60,12 @@ public class CommitRateLimiter implement
* @param delay milli seconds
*/
public void setDelay(long delay) {
+ if (LOG.isTraceEnabled()) {
+ if (this.delay != delay) {
+ // only log if the delay has changed
+ LOG.trace("setDelay: delay changed from " + this.delay + " to
" + delay);
+ }
+ }
this.delay = delay;
if (delay == 0) {
synchronized (this) {
@@ -83,6 +92,7 @@ public class CommitRateLimiter implement
long t0 = Clock.ACCURATE.getTime();
long dt = delay;
while (delay > 0 && dt > 0) {
+ LOG.trace("delay: waiting {}ms (delay={}ms)", dt,
delay);
wait(dt);
dt = dt - Clock.ACCURATE.getTime() + t0;
}