You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by av...@apache.org on 2017/03/01 14:33:20 UTC

[37/50] [abbrv] ignite git commit: IGNITE-4741: Improved JdbcStreamingSelfTest reliability. This closes #1568.

IGNITE-4741: Improved JdbcStreamingSelfTest reliability. This closes #1568.


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

Branch: refs/heads/master
Commit: 19d6c31a24a1dc86aeec203a758d1d0d7387d1ed
Parents: 658b4ad
Author: Alexander Paschenko <al...@gmail.com>
Authored: Wed Feb 22 15:30:43 2017 +0300
Committer: devozerov <vo...@gridgain.com>
Committed: Wed Feb 22 15:30:43 2017 +0300

----------------------------------------------------------------------
 modules/clients/src/test/config/jdbc-config.xml |  2 +-
 .../internal/jdbc2/JdbcStreamingSelfTest.java   | 58 ++++++++++----------
 2 files changed, 29 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/19d6c31a/modules/clients/src/test/config/jdbc-config.xml
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/config/jdbc-config.xml b/modules/clients/src/test/config/jdbc-config.xml
index 5e6e12c..27d2617 100644
--- a/modules/clients/src/test/config/jdbc-config.xml
+++ b/modules/clients/src/test/config/jdbc-config.xml
@@ -43,7 +43,7 @@
                     <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
                         <property name="addresses">
                             <list>
-                                <value>127.0.0.1:47500..47549</value>
+                                <value>127.0.0.1:47500..47501</value>
                             </list>
                         </property>
                     </bean>

http://git-wip-us.apache.org/repos/asf/ignite/blob/19d6c31a/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcStreamingSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcStreamingSelfTest.java b/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcStreamingSelfTest.java
index 5e206ee..6837a41 100644
--- a/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcStreamingSelfTest.java
+++ b/modules/clients/src/test/java/org/apache/ignite/internal/jdbc2/JdbcStreamingSelfTest.java
@@ -20,6 +20,7 @@ package org.apache.ignite.internal.jdbc2;
 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.PreparedStatement;
+import java.util.Collections;
 import java.util.Properties;
 import org.apache.ignite.IgniteJdbcDriver;
 import org.apache.ignite.IgniteLogger;
@@ -28,7 +29,6 @@ import org.apache.ignite.configuration.ConnectorConfiguration;
 import org.apache.ignite.configuration.IgniteConfiguration;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
-import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
 import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
 
@@ -40,9 +40,6 @@ import static org.apache.ignite.cache.CacheWriteSynchronizationMode.FULL_SYNC;
  * Data streaming test.
  */
 public class JdbcStreamingSelfTest extends GridCommonAbstractTest {
-    /** IP finder. */
-    private static final TcpDiscoveryIpFinder IP_FINDER = new TcpDiscoveryVmIpFinder(true);
-
     /** JDBC URL. */
     private static final String BASE_URL = CFG_URL_PREFIX + "modules/clients/src/test/config/jdbc-config.xml";
 
@@ -75,10 +72,14 @@ public class JdbcStreamingSelfTest extends GridCommonAbstractTest {
         );
 
         cfg.setCacheConfiguration(cache);
+        cfg.setLocalHost("127.0.0.1");
 
         TcpDiscoverySpi disco = new TcpDiscoverySpi();
 
-        disco.setIpFinder(IP_FINDER);
+        TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder(true);
+        ipFinder.setAddresses(Collections.singleton("127.0.0.1:47500..47501"));
+
+        disco.setIpFinder(ipFinder);
 
         cfg.setDiscoverySpi(disco);
 
@@ -89,7 +90,7 @@ public class JdbcStreamingSelfTest extends GridCommonAbstractTest {
 
     /** {@inheritDoc} */
     @Override protected void beforeTestsStarted() throws Exception {
-        startGridsMultiThreaded(3);
+        startGrids(2);
 
         Class.forName("org.apache.ignite.IgniteJdbcDriver");
     }
@@ -131,29 +132,29 @@ public class JdbcStreamingSelfTest extends GridCommonAbstractTest {
     public void testStreamedInsert() throws Exception {
         conn = createConnection(false);
 
-        ignite(0).cache(null).put(5, 500);
+        for (int i = 10; i <= 100; i += 10)
+            ignite(0).cache(null).put(i, i * 100);
 
         PreparedStatement stmt = conn.prepareStatement("insert into Integer(_key, _val) values (?, ?)");
 
-        for (int i = 1; i <= 100000; i++) {
+        for (int i = 1; i <= 100; i++) {
             stmt.setInt(1, i);
             stmt.setInt(2, i);
 
             stmt.executeUpdate();
         }
 
-        // Data is not there yet.
-        assertNull(grid(0).cache(null).get(100000));
-
-        // Let the stream flush.
-        U.sleep(1500);
+        // Closing connection makes it wait for streamer close
+        // and thus for data load completion as well
+        conn.close();
 
         // Now let's check it's all there.
-        assertEquals(1, grid(0).cache(null).get(1));
-        assertEquals(100000, grid(0).cache(null).get(100000));
-
-        // 5 should still point to 500.
-        assertEquals(500, grid(0).cache(null).get(5));
+        for (int i = 1; i <= 100; i++) {
+            if (i % 10 != 0)
+                assertEquals(i, grid(0).cache(null).get(i));
+            else // All that divides by 10 evenly should point to numbers 100 times greater - see above
+                assertEquals(i * 100, grid(0).cache(null).get(i));
+        }
     }
 
     /**
@@ -162,28 +163,25 @@ public class JdbcStreamingSelfTest extends GridCommonAbstractTest {
     public void testStreamedInsertWithOverwritesAllowed() throws Exception {
         conn = createConnection(true);
 
-        ignite(0).cache(null).put(5, 500);
+        for (int i = 10; i <= 100; i += 10)
+            ignite(0).cache(null).put(i, i * 100);
 
         PreparedStatement stmt = conn.prepareStatement("insert into Integer(_key, _val) values (?, ?)");
 
-        for (int i = 1; i <= 100000; i++) {
+        for (int i = 1; i <= 100; i++) {
             stmt.setInt(1, i);
             stmt.setInt(2, i);
 
             stmt.executeUpdate();
         }
 
-        // Data is not there yet.
-        assertNull(grid(0).cache(null).get(100000));
-
-        // Let the stream flush.
-        U.sleep(1500);
+        // Closing connection makes it wait for streamer close
+        // and thus for data load completion as well
+        conn.close();
 
         // Now let's check it's all there.
-        assertEquals(1, grid(0).cache(null).get(1));
-        assertEquals(100000, grid(0).cache(null).get(100000));
-
-        // 5 should now point to 5 as we've turned overwriting on.
-        assertEquals(5, grid(0).cache(null).get(5));
+        // i should point to i at all times as we've turned overwrites on above.
+        for (int i = 1; i <= 100; i++)
+            assertEquals(i, grid(0).cache(null).get(i));
     }
 }