Repository: camel
Updated Branches:
  refs/heads/camel-2.12.x 31311abbb -> 8fd993e9e


CAMEL-7929: OptimisticLockRetryPolicyTest fails from time to time


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/8fd993e9
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/8fd993e9
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/8fd993e9

Branch: refs/heads/camel-2.12.x
Commit: 8fd993e9e0362c44a2c36a9d65e363d4bc4c7027
Parents: 31311ab
Author: cmueller <[email protected]>
Authored: Sat Oct 18 16:44:13 2014 +0200
Committer: cmueller <[email protected]>
Committed: Sat Oct 18 16:44:13 2014 +0200

----------------------------------------------------------------------
 .../OptimisticLockRetryPolicyTest.java          | 42 ++++++++++----------
 1 file changed, 21 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/8fd993e9/camel-core/src/test/java/org/apache/camel/processor/aggregator/OptimisticLockRetryPolicyTest.java
----------------------------------------------------------------------
diff --git 
a/camel-core/src/test/java/org/apache/camel/processor/aggregator/OptimisticLockRetryPolicyTest.java
 
b/camel-core/src/test/java/org/apache/camel/processor/aggregator/OptimisticLockRetryPolicyTest.java
index cbea08d..a4304d0 100644
--- 
a/camel-core/src/test/java/org/apache/camel/processor/aggregator/OptimisticLockRetryPolicyTest.java
+++ 
b/camel-core/src/test/java/org/apache/camel/processor/aggregator/OptimisticLockRetryPolicyTest.java
@@ -19,12 +19,9 @@ package org.apache.camel.processor.aggregator;
 import junit.framework.TestCase;
 import org.apache.camel.processor.aggregate.OptimisticLockRetryPolicy;
 
-/**
- * @version
- */
 public class OptimisticLockRetryPolicyTest extends TestCase {
 
-    private static long precision = 5L; // give or take 5ms
+    private static long precision = 10L; // give or take 5ms
 
     public void testRandomBackOff() throws Exception {
         OptimisticLockRetryPolicy policy = new OptimisticLockRetryPolicy();
@@ -33,9 +30,8 @@ public class OptimisticLockRetryPolicyTest extends TestCase {
         policy.setMaximumRetryDelay(500L);
 
         for (int i = 0; i < 10; i++) {
-            long start = System.currentTimeMillis();
-            policy.doDelay(i);
-            long elapsed = System.currentTimeMillis() - start;
+            long elapsed = doDelay(policy, i);
+
             assertTrue(elapsed <= policy.getMaximumRetryDelay() + precision && 
elapsed >= 0);
         }
     }
@@ -47,12 +43,11 @@ public class OptimisticLockRetryPolicyTest extends TestCase 
{
         policy.setMaximumRetryDelay(0L);
         policy.setRetryDelay(50L);
 
-        for (int i = 0; i < 10; i++) {
-            long start = System.currentTimeMillis();
-            policy.doDelay(i);
-            long elapsed = System.currentTimeMillis() - start;
-            assertTrue(elapsed >= (policy.getRetryDelay() << i) - precision);
-            assertTrue(elapsed <= (policy.getRetryDelay() << i) + precision);
+        for (int i = 0; i < 6; i++) {
+            long elapsed = doDelay(policy, i);
+
+            assertTrue(elapsed >= (50L << i) - precision);
+            assertTrue(elapsed <= (50L << i) + precision);
         }
     }
 
@@ -64,9 +59,8 @@ public class OptimisticLockRetryPolicyTest extends TestCase {
         policy.setRetryDelay(50L);
 
         for (int i = 0; i < 10; i++) {
-            long start = System.currentTimeMillis();
-            policy.doDelay(i);
-            long elapsed = System.currentTimeMillis() - start;
+            long elapsed = doDelay(policy, i);
+
             switch (i) {
             case 0:
                 assertTrue(elapsed <= 50 + precision);
@@ -92,11 +86,10 @@ public class OptimisticLockRetryPolicyTest extends TestCase 
{
         policy.setRetryDelay(50L);
 
         for (int i = 0; i < 10; i++) {
-            long start = System.currentTimeMillis();
-            policy.doDelay(i);
-            long elapsed = System.currentTimeMillis() - start;
-            assertTrue(elapsed <= policy.getRetryDelay() + precision);
-            assertTrue(elapsed >= policy.getRetryDelay() - precision);
+            long elapsed = doDelay(policy, i);
+
+            assertTrue(elapsed <= 50L + precision);
+            assertTrue(elapsed >= 50L - precision);
         }
     }
 
@@ -119,4 +112,11 @@ public class OptimisticLockRetryPolicyTest extends 
TestCase {
             }
         }
     }
+
+    private long doDelay(OptimisticLockRetryPolicy policy, int i) throws 
InterruptedException {
+        long start = System.currentTimeMillis();
+        policy.doDelay(i);
+        long elapsed = System.currentTimeMillis() - start;
+        return elapsed;
+    }
 }
\ No newline at end of file

Reply via email to