summaryrefslogtreecommitdiff
path: root/test/java
diff options
context:
space:
mode:
authorDon Anderson <dda@ddanderson.com>2014-11-07 15:15:07 -0500
committerDon Anderson <dda@ddanderson.com>2014-11-07 15:15:07 -0500
commitf7b316517dd817afa67d7d7d7d59fde66f2ce65f (patch)
tree29b6dfe9cdb175a99e12de7501d2159c8241f0cc /test/java
parent66381361467aad866c4df92eb1f73aec16910d74 (diff)
downloadmongo-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.java42
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) {