diff options
author | Don Anderson <dda@ddanderson.com> | 2014-11-07 15:15:07 -0500 |
---|---|---|
committer | Don Anderson <dda@ddanderson.com> | 2014-11-07 15:15:07 -0500 |
commit | f7b316517dd817afa67d7d7d7d59fde66f2ce65f (patch) | |
tree | 29b6dfe9cdb175a99e12de7501d2159c8241f0cc /test/java | |
parent | 66381361467aad866c4df92eb1f73aec16910d74 (diff) | |
download | mongo-f7b316517dd817afa67d7d7d7d59fde66f2ce65f.tar.gz |
Added java async tests that open many connections. refs #1332.
Changed async test retres after EBUSY to use exponentially longer retries,
to guarantee successful runs.
Diffstat (limited to 'test/java')
-rw-r--r-- | test/java/com/wiredtiger/test/AsyncTest.java | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/test/java/com/wiredtiger/test/AsyncTest.java b/test/java/com/wiredtiger/test/AsyncTest.java index 758cb6148e5..318bd0a205d 100644 --- a/test/java/com/wiredtiger/test/AsyncTest.java +++ b/test/java/com/wiredtiger/test/AsyncTest.java @@ -313,7 +313,7 @@ public class AsyncTest { catch (WiredTigerException wte) { if (retry == MAX_RETRIES) throw wte; - sleepMillis(retry); + sleepMillis(1 << retry); } } @@ -453,6 +453,46 @@ public class AsyncTest { assertEquals(1000000, callback.ninsert); } + @Test + public void asyncManyConnections01() + throws WiredTigerException { + Object syncobj = new Object(); + HashMap<String, String> current = new HashMap<String, String>(); + + for (int i = 0; i < 100; i++) { + CallbackSS callback = new CallbackSS(current, syncobj); + asyncTester("asyncMany01", "S", "S", 100, 10, 3, 10, 1, + callback, callback, current); + + assertEquals(0, callback.nerror); + assertEquals(100, callback.nsearch); + assertEquals(100, callback.ninsert); + conn.close(""); + connvalid = false; + } + } + + @Test + public void asyncManyConnections02() + throws WiredTigerException { + Object syncobj = new Object(); + HashMap<Long, Integer> current = new HashMap<Long, Integer>(); + + for (int i = 0; i < 10; i++) { + // These are each long tests, so give some additional feedback + System.err.print(","); + CallbackRI callback = new CallbackRI(current, syncobj); + asyncTester("asyncMany02", "q", "i", 1000000, 4000, + 3, 1000000, 0, callback, callback, current); + + assertEquals(0, callback.nerror); + assertEquals(1000000, callback.nsearch); + assertEquals(1000000, callback.ninsert); + conn.close(""); + connvalid = false; + } + } + @After public void teardown() { if (connvalid) { |