IGNITE-3477 - Fixing flaky full API suite

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

Branch: refs/heads/ignite-4587
Commit: 8d2b020c7068a000c2eeaa5096e24cdf8937125d
Parents: 1469f28
Author: Alexey Goncharuk <[email protected]>
Authored: Thu Apr 13 16:36:54 2017 +0300
Committer: Alexey Goncharuk <[email protected]>
Committed: Thu Apr 13 16:36:54 2017 +0300

----------------------------------------------------------------------
 .../processors/cache/H2CacheStoreStrategy.java  | 35 ++++++++++++++++----
 1 file changed, 28 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/8d2b020c/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/H2CacheStoreStrategy.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/H2CacheStoreStrategy.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/H2CacheStoreStrategy.java
index 0167b7d..72b049b 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/H2CacheStoreStrategy.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/H2CacheStoreStrategy.java
@@ -54,6 +54,9 @@ public class H2CacheStoreStrategy implements 
TestCacheStoreStrategy {
     /** Pool to get {@link Connection}s from. */
     private final JdbcConnectionPool dataSrc;
 
+    /** */
+    private final int port;
+
     /** Script that creates CACHE table. */
     private static final String CREATE_CACHE_TABLE =
         "create table if not exists CACHE(k binary not null, v binary not 
null, PRIMARY KEY(k));";
@@ -75,9 +78,14 @@ public class H2CacheStoreStrategy implements 
TestCacheStoreStrategy {
      * @throws IgniteCheckedException If failed.
      */
     public H2CacheStoreStrategy() throws IgniteCheckedException {
+        Server srv = null;
+
         try {
-            Server.createTcpServer().start();
-            dataSrc = H2CacheStoreSessionListenerFactory.createDataSource();
+            srv = Server.createTcpServer().start();
+
+            port = srv.getPort();
+
+            dataSrc = 
H2CacheStoreSessionListenerFactory.createDataSource(port);
 
             try (Connection conn = connection()) {
                 RunScript.execute(conn, new StringReader(CREATE_CACHE_TABLE));
@@ -86,7 +94,8 @@ public class H2CacheStoreStrategy implements 
TestCacheStoreStrategy {
             }
         }
         catch (SQLException e) {
-            throw new IgniteCheckedException(e);
+            throw new IgniteCheckedException("Failed to set up cache store 
strategy" +
+                (srv == null ? "" : ": " + srv.getStatus()), e);
         }
     }
 
@@ -242,7 +251,7 @@ public class H2CacheStoreStrategy implements 
TestCacheStoreStrategy {
 
     /** {@inheritDoc} */
     @Override public void updateCacheConfiguration(CacheConfiguration<Object, 
Object> cfg) {
-        cfg.setCacheStoreSessionListenerFactories(new 
H2CacheStoreSessionListenerFactory());
+        cfg.setCacheStoreSessionListenerFactories(new 
H2CacheStoreSessionListenerFactory(port));
     }
 
     /** {@inheritDoc} */
@@ -260,11 +269,23 @@ public class H2CacheStoreStrategy implements 
TestCacheStoreStrategy {
 
     /** Serializable {@link Factory} producing H2 backed {@link 
CacheStoreSessionListener}s. */
     public static class H2CacheStoreSessionListenerFactory implements 
Factory<CacheStoreSessionListener> {
+        /** */
+        private int port;
+
+        /**
+         * @param port Port.
+         */
+        public H2CacheStoreSessionListenerFactory(int port) {
+            this.port = port;
+        }
+
         /**
          * @return Connection pool
          */
-        static JdbcConnectionPool createDataSource() {
-            JdbcConnectionPool pool = 
JdbcConnectionPool.create("jdbc:h2:tcp://localhost/mem:TestDb;LOCK_MODE=0", 
"sa", "");
+        static JdbcConnectionPool createDataSource(int port) {
+            JdbcConnectionPool pool = 
JdbcConnectionPool.create("jdbc:h2:tcp://localhost:" + port +
+                "/mem:TestDb;LOCK_MODE=0", "sa", "");
+
             pool.setMaxConnections(Integer.getInteger("H2_JDBC_CONNECTIONS", 
100));
             return pool;
         }
@@ -272,7 +293,7 @@ public class H2CacheStoreStrategy implements 
TestCacheStoreStrategy {
         /** {@inheritDoc} */
         @Override public CacheStoreSessionListener create() {
             CacheJdbcStoreSessionListener lsnr = new 
CacheJdbcStoreSessionListener();
-            lsnr.setDataSource(createDataSource());
+            lsnr.setDataSource(createDataSource(port));
             return lsnr;
         }
     }

Reply via email to