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
