Author: stefanegli
Date: Thu Jul  7 15:31:11 2016
New Revision: 1751809

URL: http://svn.apache.org/viewvc?rev=1751809&view=rev
Log:
OAK-4532 : avoiding race-condition in delay that could lead to almost-infinite 
wait

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=1751809&r1=1751808&r2=1751809&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:31:11 2016
@@ -82,10 +82,10 @@ public class CommitRateLimiter implement
                 try {
                     long t0 = Clock.ACCURATE.getTime();
                     long dt = delay;
-                    do {
+                    while (delay > 0 && dt > 0) {
                         wait(dt);
                         dt = dt - Clock.ACCURATE.getTime() + t0;
-                    } while (delay > 0 && dt > 0);
+                    }
                 } catch (InterruptedException e) {
                     throw new CommitFailedException(OAK, 2, "Interrupted while 
waiting to commit", e);
                 }


Reply via email to