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);
}