mirror of
https://github.com/apache/cloudstack.git
synced 2025-11-02 20:02:29 +01:00
changes
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
This commit is contained in:
parent
d0fc91ab2a
commit
7ecc173187
@ -38,7 +38,7 @@ import com.cloud.utils.component.AdapterBase;
|
||||
public class RangeTimeBackoff extends AdapterBase implements BackoffAlgorithm {
|
||||
protected static final int DEFAULT_MIN_TIME = 5;
|
||||
private int minTime = DEFAULT_MIN_TIME;
|
||||
private int maxTime = 3 * DEFAULT_MIN_TIME;
|
||||
private int maxTime = DEFAULT_MIN_TIME;
|
||||
private final Map<String, Thread> asleep = new ConcurrentHashMap<>();
|
||||
private static final Logger LOG = Logger.getLogger(RangeTimeBackoff.class.getName());
|
||||
|
||||
@ -71,7 +71,7 @@ public class RangeTimeBackoff extends AdapterBase implements BackoffAlgorithm {
|
||||
@Override
|
||||
public boolean configure(String name, Map<String, Object> params) {
|
||||
minTime = NumbersUtil.parseInt((String)params.get("minSeconds"), DEFAULT_MIN_TIME);
|
||||
maxTime = NumbersUtil.parseInt((String)params.get("maxSeconds"), minTime * 3);
|
||||
maxTime = NumbersUtil.parseInt((String)params.get("maxSeconds"), minTime);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@ -43,6 +43,12 @@ public class RangeTimeBackoffTest {
|
||||
Assert.assertTrue(timeTaken <= max * 1000L);
|
||||
}
|
||||
|
||||
private void checkTimeTakenBetweenDelta(long timeTaken, int value) {
|
||||
long min = (value * 1000L) - 10L;
|
||||
long max = (value* 1000L) + 10L;
|
||||
Assert.assertTrue(min <= timeTaken && timeTaken <= max);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testWaitEmptyValue() {
|
||||
RangeTimeBackoff backoff = new RangeTimeBackoff();
|
||||
@ -52,8 +58,7 @@ public class RangeTimeBackoffTest {
|
||||
backoff.configure("RangeTimeBackoff", map);
|
||||
long startTime = System.currentTimeMillis();
|
||||
backoff.waitBeforeRetry();
|
||||
long timeTaken = System.currentTimeMillis() - startTime;
|
||||
Assert.assertTrue(timeTaken >= RangeTimeBackoff.DEFAULT_MIN_TIME * 1000L);
|
||||
checkTimeTakenBetweenDelta(System.currentTimeMillis() - startTime, RangeTimeBackoff.DEFAULT_MIN_TIME);
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -63,8 +68,7 @@ public class RangeTimeBackoffTest {
|
||||
backoff.configure("RangeTimeBackoff", map);
|
||||
long startTime = System.currentTimeMillis();
|
||||
backoff.waitBeforeRetry();
|
||||
long timeTaken = System.currentTimeMillis() - startTime;
|
||||
Assert.assertTrue(timeTaken >= RangeTimeBackoff.DEFAULT_MIN_TIME * 1000L);
|
||||
checkTimeTakenBetweenDelta(System.currentTimeMillis() - startTime, RangeTimeBackoff.DEFAULT_MIN_TIME);
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -78,7 +82,6 @@ public class RangeTimeBackoffTest {
|
||||
backoff.configure("RangeTimeBackoff", map);
|
||||
long startTime = System.currentTimeMillis();
|
||||
backoff.waitBeforeRetry();
|
||||
long timeTaken = System.currentTimeMillis() - startTime;
|
||||
Assert.assertTrue(timeTaken >= min * 1000L);
|
||||
checkTimeTakenBetweenDelta(System.currentTimeMillis() - startTime, min);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user