You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ds...@apache.org on 2016/04/01 00:45:16 UTC
[49/71] [abbrv] incubator-geode git commit: GEODE-923 In test changed
"System.currentTimeMillis" to "System.nanoTime()" as Connection mgr uses
nanotime
GEODE-923 In test changed "System.currentTimeMillis" to "System.nanoTime()" as Connection mgr uses nanotime
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/48af841f
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/48af841f
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/48af841f
Branch: refs/heads/feature/GEODE-915
Commit: 48af841fcb4c9377dbe76837724933530e4faf15
Parents: 67f9d7c
Author: Hitesh Khamesra <hk...@pivotal.io>
Authored: Wed Mar 30 14:08:31 2016 -0700
Committer: Hitesh Khamesra <hk...@pivotal.io>
Committed: Wed Mar 30 14:08:31 2016 -0700
----------------------------------------------------------------------
.../pooling/ConnectionManagerJUnitTest.java | 26 ++++++++++----------
1 file changed, 13 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/48af841f/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/pooling/ConnectionManagerJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/pooling/ConnectionManagerJUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/pooling/ConnectionManagerJUnitTest.java
index 538a0a3..1250d5a 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/pooling/ConnectionManagerJUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/cache/client/internal/pooling/ConnectionManagerJUnitTest.java
@@ -231,6 +231,7 @@ public class ConnectionManagerJUnitTest {
@Test
public void testIdleExpiration() throws InterruptedException, AllConnectionsInUseException, NoAvailableServersException {
+ final long nanoToMillis = 1000000;
final long idleTimeout = 300;
manager = new ConnectionManagerImpl("pool", factory, endpointManager, 5, 2, idleTimeout, -1, logger, 60 * 1000, cancelCriterion, poolStats);
manager.start(background);
@@ -266,19 +267,18 @@ public class ConnectionManagerJUnitTest {
Assert.assertEquals(0,factory.closes);
Assert.assertEquals(0,poolStats.getIdleExpire());
+ long startInNanos = System.nanoTime();
{
- long start = System.currentTimeMillis();
// make sure a thread local connection that has been passivated can idle-expire
manager.passivate(conn1, true);
synchronized(factory) {
- long remaining = TIMEOUT;
- while(factory.destroys < 1 && remaining > 0) {
- factory.wait(remaining);
- remaining = TIMEOUT - (System.currentTimeMillis() - start);
+ long waitTime = TIMEOUT * nanoToMillis + startInNanos;
+ while(factory.destroys < 1 && (waitTime - System.nanoTime()) > 0) {
+ factory.wait(idleTimeout);
}
}
- long elapsed = System.currentTimeMillis() - start;
+ long elapsed = (System.nanoTime() - startInNanos)/nanoToMillis;
Assert.assertTrue("Elapsed " + elapsed + " is less than idle timeout "
+ idleTimeout,
elapsed >= idleTimeout && elapsed <= idleTimeout + 100);
@@ -288,6 +288,8 @@ public class ConnectionManagerJUnitTest {
Assert.assertEquals(1,poolStats.getIdleExpire());
}
+ startInNanos = System.nanoTime();
+
// now return all other connections to pool and verify that just 2 expire
manager.returnConnection(conn2);
manager.returnConnection(conn3);
@@ -295,18 +297,16 @@ public class ConnectionManagerJUnitTest {
manager.returnConnection(conn5);
{
- long start = System.currentTimeMillis();
synchronized(factory) {
- long remaining = TIMEOUT;
- while(factory.destroys < 3 && remaining > 0) {
- factory.wait(remaining);
- remaining = TIMEOUT - (System.currentTimeMillis() - start);
+ long waitTime = TIMEOUT * nanoToMillis + startInNanos;
+ while(factory.destroys < 3 && (waitTime - System.nanoTime()) > 0) {
+ factory.wait(idleTimeout);
}
}
- long elapsed = System.currentTimeMillis() - start;
+ long elapsed = (System.nanoTime() - startInNanos)/nanoToMillis;
Assert.assertTrue("Elapsed " + elapsed + " is less than idle timeout "
+ idleTimeout,
- elapsed + ALLOWABLE_ERROR_IN_EXPIRATION >= idleTimeout);
+ elapsed >= idleTimeout && elapsed <= idleTimeout + 100);
Assert.assertEquals(5,factory.creates);
Assert.assertEquals(3,factory.destroys);
Assert.assertEquals(3,factory.closes);