Added test.

Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/bb796880
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/bb796880
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/bb796880

Branch: refs/heads/ignite-db-x-10884
Commit: bb7968801d2cd60203022adbeec3ca4d92110937
Parents: fc2d77d
Author: Alexey Goncharuk <[email protected]>
Authored: Mon Apr 25 13:26:56 2016 -0700
Committer: Alexey Goncharuk <[email protected]>
Committed: Mon Apr 25 13:26:56 2016 -0700

----------------------------------------------------------------------
 .../IgniteDbMultiNodePutGetSelfTest.java        |  5 ++
 .../IgniteDbSingleNodePutGetSelfTest.java       | 66 ++++++++++++++++++++
 2 files changed, 71 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/bb796880/modules/indexing/src/test/java/org/apache/ignite/internal/processors/database/IgniteDbMultiNodePutGetSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/database/IgniteDbMultiNodePutGetSelfTest.java
 
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/database/IgniteDbMultiNodePutGetSelfTest.java
index bd9fc26..1ead18f 100644
--- 
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/database/IgniteDbMultiNodePutGetSelfTest.java
+++ 
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/database/IgniteDbMultiNodePutGetSelfTest.java
@@ -17,4 +17,9 @@ public class IgniteDbMultiNodePutGetSelfTest extends 
IgniteDbSingleNodePutGetSel
     @Override protected int gridCount() {
         return 3;
     }
+
+    /** {@inheritDoc} */
+    @Override public void testMultithreadedPut() throws Exception {
+        super.testMultithreadedPut();
+    }
 }

http://git-wip-us.apache.org/repos/asf/ignite/blob/bb796880/modules/indexing/src/test/java/org/apache/ignite/internal/processors/database/IgniteDbSingleNodePutGetSelfTest.java
----------------------------------------------------------------------
diff --git 
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/database/IgniteDbSingleNodePutGetSelfTest.java
 
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/database/IgniteDbSingleNodePutGetSelfTest.java
index 7570f80..7b7d791 100644
--- 
a/modules/indexing/src/test/java/org/apache/ignite/internal/processors/database/IgniteDbSingleNodePutGetSelfTest.java
+++ 
b/modules/indexing/src/test/java/org/apache/ignite/internal/processors/database/IgniteDbSingleNodePutGetSelfTest.java
@@ -15,6 +15,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Random;
 import org.apache.ignite.IgniteCache;
+import org.apache.ignite.IgniteDataStreamer;
 import org.apache.ignite.cache.CacheAtomicityMode;
 import org.apache.ignite.cache.CacheRebalanceMode;
 import org.apache.ignite.cache.CacheWriteSynchronizationMode;
@@ -270,7 +271,69 @@ public class IgniteDbSingleNodePutGetSelfTest extends 
GridCommonAbstractTest {
         assertTrue(plan, plan.contains("iVal_idx"));
     }
 
+    /**
+     * @throws Exception if failed.
+     */
+    public void testMultithreadedPut() throws Exception {
+        IgniteEx ig = grid(0);
+
+        final IgniteCache<Integer, DbValue> cache = ig.cache(null);
+
+        X.println("Put start");
+
+        int cnt = 20_000;
+
+        try (IgniteDataStreamer<Integer, DbValue> st = ig.dataStreamer(null)) {
+            st.allowOverwrite(true);
+
+            for (int i = 0; i < cnt; i++) {
+                DbValue v0 = new DbValue(i, "test-value", i);
+
+                st.addData(i, v0);
+            }
+        }
+
+        X.println("Get start");
+
+        for (int i = 0; i < cnt; i++) {
+            DbValue v0 = new DbValue(i, "test-value", i);
+
+            assertEquals(v0, cache.get(i));
+        }
+
+        awaitPartitionMapExchange();
+
+        X.println("Query start");
+
+        assertEquals(cnt, cache.query(new SqlFieldsQuery("select null from 
dbvalue")).getAll().size());
+
+        int limit = 500;
+
+        List<List<?>> res = cache.query(new SqlFieldsQuery("select ival, _val 
from dbvalue where ival < ? order by ival")
+            .setArgs(limit)).getAll();
+
+        assertEquals(limit, res.size());
+
+        for (int i = 0; i < limit; i++) {
+            List<?> row = res.get(i);
+
+            assertEquals(2, row.size());
+            assertEquals(i, row.get(0));
+
+            assertEquals(new DbValue(i, "test-value", i), row.get(1));
+        }
 
+        assertEquals(1, cache.query(new SqlFieldsQuery("select lval from 
dbvalue where ival = 7899")).getAll().size());
+        assertEquals(2000, cache.query(new SqlFieldsQuery("select lval from 
dbvalue where ival >= 5000 and ival < 7000"))
+            .getAll().size());
+
+        String plan = cache.query(new SqlFieldsQuery(
+            "explain select lval from dbvalue where ival >= 5000 and ival < 
7000")).getAll().get(0).get(0).toString();
+
+        assertTrue(plan, plan.contains("iVal_idx"));
+
+        cache.clear();
+    }
 
     /**
      * @throws Exception if failed.
@@ -435,6 +498,9 @@ public class IgniteDbSingleNodePutGetSelfTest extends 
GridCommonAbstractTest {
         }
     }
 
+    /**
+     * @throws Exception if failed.
+     */
     public void testPutGetRemoveMultipleForward() throws Exception {
         IgniteEx ig = grid(0);
 

Reply via email to