You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sb...@apache.org on 2018/03/19 07:16:22 UTC

[01/12] ignite git commit: ignite-zk reconnect attempts are limited; tests for SASL authentication were added

Repository: ignite
Updated Branches:
  refs/heads/ignite-zk 00917728b -> f6066b410


ignite-zk reconnect attempts are limited; tests for SASL authentication were added


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

Branch: refs/heads/ignite-zk
Commit: e93719448cc1543692507b3081b5c6443c0d411f
Parents: 307852d
Author: Sergey Chugunov <se...@gmail.com>
Authored: Tue Jan 16 12:52:28 2018 +0300
Committer: Sergey Chugunov <se...@gmail.com>
Committed: Tue Jan 16 12:52:28 2018 +0300

----------------------------------------------------------------------
 .../discovery/zk/internal/ZookeeperClient.java  |  20 +-
 .../zk/ZookeeperDiscoverySpiTestSuite1.java     |   2 +
 ...okeeperDiscoverySpiSaslAuthAbstractTest.java | 243 +++++++++++++++++++
 ...ZookeeperDiscoverySpiSaslFailedAuthTest.java |  42 ++++
 ...eeperDiscoverySpiSaslSuccessfulAuthTest.java |  44 ++++
 5 files changed, 349 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/e9371944/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClient.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClient.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClient.java
index e321db6..6e0a167 100644
--- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClient.java
+++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClient.java
@@ -39,7 +39,7 @@ import org.apache.zookeeper.data.Stat;
 import org.jetbrains.annotations.Nullable;
 
 /**
- * TODO ZK: limit reconnect attempts.
+ *
  */
 public class ZookeeperClient implements Watcher {
     /** */
@@ -47,6 +47,13 @@ public class ZookeeperClient implements Watcher {
         IgniteSystemProperties.getLong("IGNITE_ZOOKEEPER_DISCOVERY_RETRY_TIMEOUT", 1000);
 
     /** */
+    private static final int MAX_RETRY_COUNT =
+        IgniteSystemProperties.getInteger("IGNITE_ZOOKEEPER_DISCOVERY_MAX_RETRY_COUNT", 5);
+
+    /** */
+    private int retryCount;
+
+    /** */
     private static final int MAX_REQ_SIZE = 1048528;
 
     /** */
@@ -810,9 +817,18 @@ public class ZookeeperClient implements Watcher {
      * @return {@code True} if can retry operation.
      */
     private boolean needRetry(int code) {
-        return code == KeeperException.Code.CONNECTIONLOSS.intValue() ||
+        boolean retryByErrorCode = code == KeeperException.Code.CONNECTIONLOSS.intValue() ||
             code == KeeperException.Code.SESSIONMOVED.intValue() ||
             code == KeeperException.Code.OPERATIONTIMEOUT.intValue();
+
+        if (retryByErrorCode) {
+            if (MAX_RETRY_COUNT <= 0 || retryCount++ < MAX_RETRY_COUNT)
+                return true;
+            else
+                return false;
+        }
+        else
+            return false;
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/e9371944/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpiTestSuite1.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpiTestSuite1.java b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpiTestSuite1.java
index 37e3bb3..860488b 100644
--- a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpiTestSuite1.java
+++ b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpiTestSuite1.java
@@ -19,6 +19,7 @@ package org.apache.ignite.spi.discovery.zk;
 
 import junit.framework.TestSuite;
 import org.apache.ignite.spi.discovery.zk.internal.ZookeeperClientTest;
+import org.apache.ignite.spi.discovery.zk.internal.ZookeeperDiscoverySpiSaslSuccessfulAuthTest;
 import org.apache.ignite.spi.discovery.zk.internal.ZookeeperDiscoverySpiTest;
 
 /**
@@ -36,6 +37,7 @@ public class ZookeeperDiscoverySpiTestSuite1 extends TestSuite {
 
         suite.addTestSuite(ZookeeperClientTest.class);
         suite.addTestSuite(ZookeeperDiscoverySpiTest.class);
+        suite.addTestSuite(ZookeeperDiscoverySpiSaslSuccessfulAuthTest.class);
 
         return suite;
     }

http://git-wip-us.apache.org/repos/asf/ignite/blob/e9371944/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslAuthAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslAuthAbstractTest.java b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslAuthAbstractTest.java
new file mode 100644
index 0000000..33c060d
--- /dev/null
+++ b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslAuthAbstractTest.java
@@ -0,0 +1,243 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.ignite.spi.discovery.zk.internal;
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.nio.file.Paths;
+import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.configuration.IgniteConfiguration;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.spi.discovery.zk.ZookeeperDiscoverySpi;
+import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
+import org.apache.zookeeper.client.ZooKeeperSaslClient;
+import org.apache.zookeeper.server.ServerCnxnFactory;
+import org.apache.zookeeper.server.ZKDatabase;
+import org.apache.zookeeper.server.ZooKeeperServer;
+
+/**
+ * Implements methods to prepare SASL tests infrastructure: jaas.conf files, starting up ZooKeeper server,
+ * clean up procedures when the test has finished etc.
+ */
+public abstract class ZookeeperDiscoverySpiSaslAuthAbstractTest extends GridCommonAbstractTest {
+    /** */
+    private File tmpDir = createTmpDir();
+
+    /** */
+    private static final String JAAS_CONF_FILE = "jaas.conf";
+
+    /** */
+    private static final String AUTH_PROVIDER = "zookeeper.authProvider.1";
+
+    /** */
+    private static final String SASL_CONFIG = "java.security.auth.login.config";
+
+    /** */
+    private long joinTimeout = 2_000;
+
+    /** */
+    private long sesTimeout = 10_000;
+
+    /** */
+    private ServerCnxnFactory serverFactory;
+
+    /** */
+    private String hostPort = "localhost:2181";
+
+    /** */
+    private int maxCnxns;
+
+    /** {@inheritDoc} */
+    @Override protected IgniteConfiguration getConfiguration(String instanceName) throws Exception {
+        IgniteConfiguration cfg = super.getConfiguration(instanceName);
+
+        ZookeeperDiscoverySpi zkSpi = new ZookeeperDiscoverySpi();
+
+        if (joinTimeout != 0)
+            zkSpi.setJoinTimeout(joinTimeout);
+
+        zkSpi.setSessionTimeout(sesTimeout > 0 ? sesTimeout : 10_000);
+
+        zkSpi.setZkConnectionString(hostPort);
+
+        cfg.setDiscoverySpi(zkSpi);
+
+        return cfg;
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void beforeTest() throws Exception {
+        prepareJaasConfigFile();
+
+        prepareSaslSystemProperties();
+
+        startZooKeeperServer();
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void afterTest() throws Exception {
+        stopZooKeeperServer();
+
+        stopAllGrids();
+
+        clearSaslSystemProperties();
+
+        clearTmpDir();
+    }
+
+    /** */
+    private void clearTmpDir() throws Exception {
+        deleteRecursively(tmpDir);
+    }
+
+    /** */
+    protected void clearSaslSystemProperties() {
+        System.clearProperty(AUTH_PROVIDER);
+
+        System.clearProperty(SASL_CONFIG);
+
+        System.clearProperty(ZooKeeperSaslClient.LOGIN_CONTEXT_NAME_KEY);
+    }
+
+    /** */
+    private void prepareJaasConfigFile() throws Exception {
+        U.ensureDirectory(tmpDir, "Temp directory for JAAS configuration file wasn't created", null);
+
+        File saslConfFile = new File(tmpDir, JAAS_CONF_FILE);
+
+        FileWriter fwriter = new FileWriter(saslConfFile);
+
+        writeServerConfigSection(fwriter, "validPassword");
+
+        writeClientConfigSection(fwriter, "ValidZookeeperClient", "validPassword");
+
+        writeClientConfigSection(fwriter, "InvalidZookeeperClient", "invalidPassword");
+
+        fwriter.close();
+    }
+
+    /** */
+    private void prepareSaslSystemProperties() {
+        System.setProperty(SASL_CONFIG, Paths.get(tmpDir.getPath().toString(), JAAS_CONF_FILE).toString());
+
+        System.setProperty(AUTH_PROVIDER, "org.apache.zookeeper.server.auth.SASLAuthenticationProvider");
+    }
+
+    /** */
+    private void writeClientConfigSection(FileWriter fwriter, String clientName, String pass) throws IOException {
+        fwriter.write(clientName + "{\n" +
+            "       org.apache.zookeeper.server.auth.DigestLoginModule required\n" +
+            "       username=\"zkUser\"\n" +
+            "       password=\"" + pass + "\";\n" +
+            "};" + "\n");
+    }
+
+    /** */
+    private void writeServerConfigSection(FileWriter fwriter, String pass) throws IOException {
+        fwriter.write("Server {\n" +
+            "          org.apache.zookeeper.server.auth.DigestLoginModule required\n" +
+            "          user_zkUser=\"" + pass + "\";\n" +
+            "};\n");
+    }
+
+    /** */
+    private File createTmpDir() {
+        File jaasConfDir = Paths.get(System.getProperty("java.io.tmpdir"), "zk_disco_spi_test").toFile();
+
+        try {
+            U.ensureDirectory(jaasConfDir, "", null);
+        }
+        catch (IgniteCheckedException e) {
+            // ignored
+        }
+
+        return jaasConfDir;
+    }
+
+    /** */
+    private void stopZooKeeperServer() throws Exception {
+        shutdownServerInstance(serverFactory);
+        serverFactory = null;
+    }
+
+    /** */
+    private void shutdownServerInstance(ServerCnxnFactory factory)
+    {
+        if (factory != null) {
+            ZKDatabase zkDb = null;
+            {
+                ZooKeeperServer zs = getServer(factory);
+                if (zs != null)
+                    zkDb = zs.getZKDatabase();
+            }
+            factory.shutdown();
+            try {
+                if (zkDb != null)
+                    zkDb.close();
+            } catch (IOException ie) {
+                // ignore
+            }
+        }
+    }
+
+    /** */
+    private ZooKeeperServer getServer(ServerCnxnFactory fac) {
+        ZooKeeperServer zs = U.field(fac, "zkServer");
+
+        return zs;
+    }
+
+    /** */
+    private void startZooKeeperServer() throws Exception {
+        serverFactory = createNewServerInstance(serverFactory, hostPort,
+            maxCnxns);
+        startServerInstance(tmpDir, serverFactory);
+    }
+
+    /** */
+    private ServerCnxnFactory createNewServerInstance(
+        ServerCnxnFactory factory, String hostPort, int maxCnxns)
+        throws IOException {
+        final int port = getPort(hostPort);
+
+        if (factory == null)
+            factory = ServerCnxnFactory.createFactory(port, maxCnxns);
+
+        return factory;
+    }
+
+    /** */
+    private void startServerInstance(File dataDir,
+        ServerCnxnFactory factory) throws IOException,
+        InterruptedException {
+        ZooKeeperServer zks = new ZooKeeperServer(dataDir, dataDir, 3000);
+        factory.startup(zks);
+    }
+
+    /** */
+    private int getPort(String hostPort) {
+        String[] split = hostPort.split(":");
+        String portstr = split[split.length-1];
+        String[] pc = portstr.split("/");
+
+        if (pc.length > 1)
+            portstr = pc[0];
+
+        return Integer.parseInt(portstr);
+    }
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/e9371944/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslFailedAuthTest.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslFailedAuthTest.java b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslFailedAuthTest.java
new file mode 100644
index 0000000..248eb4e
--- /dev/null
+++ b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslFailedAuthTest.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.ignite.spi.discovery.zk.internal;
+
+import org.apache.zookeeper.client.ZooKeeperSaslClient;
+import org.junit.Assert;
+
+/**
+ *
+ */
+public class ZookeeperDiscoverySpiSaslFailedAuthTest extends ZookeeperDiscoverySpiSaslAuthAbstractTest {
+    /** */
+    public void testIgniteNodeWithInvalidPasswordFailsToJoin() throws Exception {
+        System.setProperty(ZooKeeperSaslClient.LOGIN_CONTEXT_NAME_KEY,
+            "InvalidZookeeperClient");
+
+        System.setProperty("IGNITE_ZOOKEEPER_DISCOVERY_MAX_RETRY_COUNT", Integer.toString(1));
+
+        try {
+            startGrid(0);
+
+            Assert.fail("Ignite node with invalid password should fail on join.");
+        }
+        catch (Exception e) {
+            //ignored
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/ignite/blob/e9371944/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslSuccessfulAuthTest.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslSuccessfulAuthTest.java b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslSuccessfulAuthTest.java
new file mode 100644
index 0000000..7c8d431
--- /dev/null
+++ b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslSuccessfulAuthTest.java
@@ -0,0 +1,44 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.ignite.spi.discovery.zk.internal;
+
+import org.apache.zookeeper.client.ZooKeeperSaslClient;
+
+/**
+ *
+ */
+public class ZookeeperDiscoverySpiSaslSuccessfulAuthTest extends ZookeeperDiscoverySpiSaslAuthAbstractTest {
+    /** */
+    public void testIgniteNodesWithValidPasswordSuccessfullyJoins() throws Exception {
+        System.setProperty(ZooKeeperSaslClient.LOGIN_CONTEXT_NAME_KEY,
+            "ValidZookeeperClient");
+
+        startGrids(3);
+
+        waitForTopology(3);
+    }
+
+    /** */
+    public void testIgniteNodeWithoutSaslConfigurationSuccessfullyJoins() throws Exception {
+        //clearing SASL-related system properties that were set in beforeTest
+        clearSaslSystemProperties();
+
+        startGrid(0);
+
+        waitForTopology(1);
+    }
+}


[05/12] ignite git commit: Merge branch 'apache-ignite-zk' into ignite-zk

Posted by sb...@apache.org.
Merge branch 'apache-ignite-zk' into ignite-zk


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

Branch: refs/heads/ignite-zk
Commit: 6a22f13501f6a43762b9f5003ed089f6d59a60eb
Parents: a7723a1 a65d955
Author: Sergey Chugunov <se...@gmail.com>
Authored: Wed Jan 31 15:51:47 2018 +0300
Committer: Sergey Chugunov <se...@gmail.com>
Committed: Wed Jan 31 15:51:47 2018 +0300

----------------------------------------------------------------------
 .../org/apache/ignite/internal/util/nio/GridNioServer.java    | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------



[04/12] ignite git commit: ignite-zk minor fixes to test code

Posted by sb...@apache.org.
ignite-zk minor fixes to test code


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

Branch: refs/heads/ignite-zk
Commit: a7723a160964ab79cf1d65638496b3d7439f5cfd
Parents: 4bfb3f1
Author: Sergey Chugunov <se...@gmail.com>
Authored: Fri Jan 19 12:44:54 2018 +0300
Committer: Sergey Chugunov <se...@gmail.com>
Committed: Fri Jan 19 12:44:54 2018 +0300

----------------------------------------------------------------------
 .../spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java     | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/a7723a16/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java
index f56e9a2..f06cc7c 100644
--- a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java
+++ b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java
@@ -1090,6 +1090,8 @@ public class ZookeeperDiscoverySpiTest extends GridCommonAbstractTest {
 
             srvs.get(1).restart();
 
+            U.sleep(4000);
+
             startGrid(4);
 
             waitForTopology(4);
@@ -4064,7 +4066,7 @@ public class ZookeeperDiscoverySpiTest extends GridCommonAbstractTest {
 
                 return true;
             }
-        }, 10000));
+        }, 30000));
     }
 
     /**


[12/12] ignite git commit: Merge ignite-zk.

Posted by sb...@apache.org.
Merge ignite-zk.


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

Branch: refs/heads/ignite-zk
Commit: f6066b4101cac0d3cd869c53c8042f95c900726d
Parents: 9901364
Author: sboikov <sb...@gridgain.com>
Authored: Mon Mar 19 10:16:00 2018 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Mon Mar 19 10:16:00 2018 +0300

----------------------------------------------------------------------
 .../internal/ZookeeperDiscoverySpiSaslAuthAbstractTest.java  | 6 +++++-
 .../zk/internal/ZookeeperDiscoverySpiSaslFailedAuthTest.java | 4 +++-
 .../ZookeeperDiscoverySpiSaslSuccessfulAuthTest.java         | 8 ++++++--
 .../spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java | 2 +-
 4 files changed, 15 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/f6066b41/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslAuthAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslAuthAbstractTest.java b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslAuthAbstractTest.java
index 33c060d..ac94bf2 100644
--- a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslAuthAbstractTest.java
+++ b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslAuthAbstractTest.java
@@ -30,6 +30,8 @@ import org.apache.zookeeper.server.ServerCnxnFactory;
 import org.apache.zookeeper.server.ZKDatabase;
 import org.apache.zookeeper.server.ZooKeeperServer;
 
+import static org.apache.curator.test.DirectoryUtils.deleteRecursively;
+
 /**
  * Implements methods to prepare SASL tests infrastructure: jaas.conf files, starting up ZooKeeper server,
  * clean up procedures when the test has finished etc.
@@ -114,7 +116,9 @@ public abstract class ZookeeperDiscoverySpiSaslAuthAbstractTest extends GridComm
         System.clearProperty(ZooKeeperSaslClient.LOGIN_CONTEXT_NAME_KEY);
     }
 
-    /** */
+    /**
+     * @throws Exception If failed.
+     */
     private void prepareJaasConfigFile() throws Exception {
         U.ensureDirectory(tmpDir, "Temp directory for JAAS configuration file wasn't created", null);
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/f6066b41/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslFailedAuthTest.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslFailedAuthTest.java b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslFailedAuthTest.java
index 248eb4e..864ac96 100644
--- a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslFailedAuthTest.java
+++ b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslFailedAuthTest.java
@@ -23,7 +23,9 @@ import org.junit.Assert;
  *
  */
 public class ZookeeperDiscoverySpiSaslFailedAuthTest extends ZookeeperDiscoverySpiSaslAuthAbstractTest {
-    /** */
+    /**
+     * @throws Exception If failed.
+     */
     public void testIgniteNodeWithInvalidPasswordFailsToJoin() throws Exception {
         System.setProperty(ZooKeeperSaslClient.LOGIN_CONTEXT_NAME_KEY,
             "InvalidZookeeperClient");

http://git-wip-us.apache.org/repos/asf/ignite/blob/f6066b41/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslSuccessfulAuthTest.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslSuccessfulAuthTest.java b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslSuccessfulAuthTest.java
index 7c8d431..5ee0a43 100644
--- a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslSuccessfulAuthTest.java
+++ b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiSaslSuccessfulAuthTest.java
@@ -22,7 +22,9 @@ import org.apache.zookeeper.client.ZooKeeperSaslClient;
  *
  */
 public class ZookeeperDiscoverySpiSaslSuccessfulAuthTest extends ZookeeperDiscoverySpiSaslAuthAbstractTest {
-    /** */
+    /**
+     * @throws Exception If failed.
+     */
     public void testIgniteNodesWithValidPasswordSuccessfullyJoins() throws Exception {
         System.setProperty(ZooKeeperSaslClient.LOGIN_CONTEXT_NAME_KEY,
             "ValidZookeeperClient");
@@ -32,7 +34,9 @@ public class ZookeeperDiscoverySpiSaslSuccessfulAuthTest extends ZookeeperDiscov
         waitForTopology(3);
     }
 
-    /** */
+    /**
+     * @throws Exception If failed.
+     */
     public void testIgniteNodeWithoutSaslConfigurationSuccessfullyJoins() throws Exception {
         //clearing SASL-related system properties that were set in beforeTest
         clearSaslSystemProperties();

http://git-wip-us.apache.org/repos/asf/ignite/blob/f6066b41/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java
index f06cc7c..6b593c6 100644
--- a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java
+++ b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java
@@ -3832,7 +3832,7 @@ public class ZookeeperDiscoverySpiTest extends GridCommonAbstractTest {
         evts.clear();
 
         try {
-            GridTestUtils.deleteDbFiles();
+            cleanPersistenceDir();
         }
         catch (Exception e) {
             error("Failed to delete DB files: " + e, e);


[03/12] ignite git commit: ignite-zk Minor fix in test code

Posted by sb...@apache.org.
ignite-zk Minor fix in test code


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

Branch: refs/heads/ignite-zk
Commit: 4bfb3f140b52abb4b98519093cce23df5b2f9f23
Parents: a9ce2cf
Author: Sergey Chugunov <se...@gmail.com>
Authored: Thu Jan 18 11:33:48 2018 +0300
Committer: Sergey Chugunov <se...@gmail.com>
Committed: Thu Jan 18 11:33:48 2018 +0300

----------------------------------------------------------------------
 .../spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java  | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/4bfb3f14/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java
index 9a02f95..f56e9a2 100644
--- a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java
+++ b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java
@@ -1282,7 +1282,12 @@ public class ZookeeperDiscoverySpiTest extends GridCommonAbstractTest {
 
             assertTrue(GridTestUtils.waitForCondition(new GridAbsPredicate() {
                 @Override public boolean apply() {
-                    long internalOrder = GridTestUtils.getFieldValue(spi, "impl", "rtState", "internalOrder");
+                    Object spiImpl = GridTestUtils.getFieldValue(spi, "impl");
+
+                    if (spiImpl == null)
+                        return false;
+
+                    long internalOrder = GridTestUtils.getFieldValue(spiImpl, "rtState", "internalOrder");
 
                     return internalOrder > 0;
                 }


[06/12] ignite git commit: ignite-zk ZkDistributedCollectDataFuture should not wait for exchange to complete before completing commFailure resolve process

Posted by sb...@apache.org.
ignite-zk ZkDistributedCollectDataFuture should not wait for exchange to complete before completing commFailure resolve process


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

Branch: refs/heads/ignite-zk
Commit: f06aef527396c7c04c23c95c89841243913f9028
Parents: 6a22f13
Author: Sergey Chugunov <se...@gmail.com>
Authored: Wed Jan 31 17:11:04 2018 +0300
Committer: Sergey Chugunov <se...@gmail.com>
Committed: Wed Jan 31 17:11:04 2018 +0300

----------------------------------------------------------------------
 .../zk/internal/ZookeeperDiscoveryImpl.java     | 77 +-------------------
 1 file changed, 2 insertions(+), 75 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/f06aef52/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
index a2d8890..bf81e28 100644
--- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
+++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
@@ -3206,18 +3206,8 @@ public class ZookeeperDiscoveryImpl {
         return new ZkDistributedCollectDataFuture(this, rtState, zkPaths.distributedFutureBasePath(futId),
             new Callable<Void>() {
                 @Override public Void call() throws Exception {
-                    WaitExchangeCompletionCallback cb = new WaitExchangeCompletionCallback(new Callable<Void>() {
-                        @Override public Void call() throws Exception {
-                            onCommunicationErrorResolveStatusReceived(rtState);
-
-                            return null;
-                        }
-                    }, rtState);
-
-                    // ZkDistributedCollectDataFuture is completed from ZK event thread.
-                    // If exchange is in progress then wait when it finish to make sure coordinator has information
-                    // about all caches. Since callback is called from Zookeeper thread then new exchange can not start.
-                    cb.runOfWaitForExchange();
+                    // Future is completed from ZK event thread.
+                    onCommunicationErrorResolveStatusReceived(rtState);
 
                     return null;
                 }
@@ -4335,69 +4325,6 @@ public class ZookeeperDiscoveryImpl {
     /**
      *
      */
-    class WaitExchangeCompletionCallback extends ZkAbstractCallabck implements AsyncCallback.StatCallback {
-        /** */
-        private final Callable<Void> cb;
-
-        /**
-         * @param cb Callback.
-         * @param rtState Runtime state.
-         */
-        WaitExchangeCompletionCallback(Callable<Void> cb, ZkRuntimeState rtState) {
-            super(rtState, ZookeeperDiscoveryImpl.this);
-
-            this.cb = cb;
-        }
-
-        /**
-         * @throws Exception If callback failed.
-         */
-        void runOfWaitForExchange() throws Exception {
-            GridCacheSharedContext cacheCtx = ((IgniteKernal)spi.ignite()).context().cache().context();
-
-            final AffinityTopologyVersion topVer = cacheCtx.discovery().topologyVersionEx();
-
-            IgniteInternalFuture<?> exchFut = cacheCtx.exchange().affinityReadyFuture(topVer);
-
-            if (exchFut != null && !exchFut.isDone()) {
-                if (log.isInfoEnabled())
-                    log.info("Wait for current exchange completion [topVer=" + topVer + ']');
-
-                exchFut.listen(new IgniteInClosure<IgniteInternalFuture<?>>() {
-                    @Override public void apply(IgniteInternalFuture<?> fut) {
-                        if (log.isInfoEnabled())
-                            log.info("Finished wait for current exchange completion [topVer=" + topVer + ']');
-
-                        // Most probably listener is run from Ignite thread, run fake async operation to return to Zookeeper thread.
-                        rtState.zkClient.existsAsync(zkPaths.aliveNodesDir, null, WaitExchangeCompletionCallback.this);
-                    }
-                });
-
-                return;
-            }
-
-            cb.call();
-        }
-
-        /** {@inheritDoc} */
-        @Override public void processResult(int rc, String path, Object ctx, Stat stat) {
-            if (!onProcessStart())
-                return;
-
-            try {
-                runOfWaitForExchange();
-
-                onProcessEnd();
-            }
-            catch (Throwable e) {
-                onProcessError(e);
-            }
-        }
-    }
-
-    /**
-     *
-     */
     private class PingFuture extends GridFutureAdapter<Boolean> implements IgniteSpiTimeoutObject {
         /** */
         private final ZookeeperClusterNode node;


[11/12] ignite git commit: Merge remote-tracking branch 'remotes/community/ignite-zk' into ignite-zk

Posted by sb...@apache.org.
Merge remote-tracking branch 'remotes/community/ignite-zk' into ignite-zk


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

Branch: refs/heads/ignite-zk
Commit: 99013647e79a40181c188b919b139a41ec1ec9e2
Parents: 0091772 d54070e
Author: sboikov <sb...@gridgain.com>
Authored: Mon Mar 19 10:07:03 2018 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Mon Mar 19 10:07:03 2018 +0300

----------------------------------------------------------------------
 .../CommunicationFailureContext.java            |   2 +-
 .../CommunicationFailureResolver.java           |   2 +-
 .../DefaultCommunicationFailureResolver.java    |   2 +-
 .../communication/tcp/TcpCommunicationSpi.java  |   9 +-
 .../tcp/internal/ConnectionKey.java             |  31 ++-
 .../TcpCommunicationConnectionCheckFuture.java  |  33 +--
 ...pCommunicationNodeConnectionCheckFuture.java |   2 +-
 .../spi/discovery/zk/ZookeeperDiscoverySpi.java |   2 +-
 .../discovery/zk/internal/ZkAliveNodeData.java  |   2 +-
 .../discovery/zk/internal/ZkClusterNodes.java   |   2 +-
 ...ZkCommunicationErrorResolveStartMessage.java |   2 +-
 .../zk/internal/ZkForceNodeFailMessage.java     |   3 +-
 .../zk/internal/ZkJoinedNodeEvtData.java        |   2 +-
 .../spi/discovery/zk/internal/ZkRunnable.java   |   2 +-
 .../discovery/zk/internal/ZookeeperClient.java  |  22 +-
 .../zk/internal/ZookeeperClusterNode.java       |   2 +-
 .../zk/internal/ZookeeperDiscoveryImpl.java     |  85 +------
 .../zk/ZookeeperDiscoverySpiTestSuite1.java     |   2 +
 ...okeeperDiscoverySpiSaslAuthAbstractTest.java | 243 +++++++++++++++++++
 ...ZookeeperDiscoverySpiSaslFailedAuthTest.java |  42 ++++
 ...eeperDiscoverySpiSaslSuccessfulAuthTest.java |  44 ++++
 .../zk/internal/ZookeeperDiscoverySpiTest.java  |  41 ++--
 22 files changed, 446 insertions(+), 131 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/99013647/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------


[10/12] ignite git commit: ignite-zk default documentational comments added

Posted by sb...@apache.org.
ignite-zk default documentational comments added


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

Branch: refs/heads/ignite-zk
Commit: d54070e6ce5e715421b0380d9ad38021b69e1c2d
Parents: cf4d598
Author: Sergey Chugunov <se...@gmail.com>
Authored: Wed Mar 7 18:02:14 2018 +0300
Committer: Sergey Chugunov <se...@gmail.com>
Committed: Wed Mar 7 18:02:14 2018 +0300

----------------------------------------------------------------------
 .../apache/ignite/configuration/CommunicationFailureContext.java  | 2 +-
 .../apache/ignite/configuration/CommunicationFailureResolver.java | 2 +-
 .../ignite/configuration/DefaultCommunicationFailureResolver.java | 2 +-
 .../ignite/spi/communication/tcp/internal/ConnectionKey.java      | 2 +-
 .../tcp/internal/TcpCommunicationConnectionCheckFuture.java       | 2 +-
 .../tcp/internal/TcpCommunicationNodeConnectionCheckFuture.java   | 2 +-
 .../org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpi.java | 2 +-
 .../apache/ignite/spi/discovery/zk/internal/ZkAliveNodeData.java  | 2 +-
 .../apache/ignite/spi/discovery/zk/internal/ZkClusterNodes.java   | 2 +-
 .../zk/internal/ZkCommunicationErrorResolveStartMessage.java      | 2 +-
 .../ignite/spi/discovery/zk/internal/ZkForceNodeFailMessage.java  | 3 +--
 .../ignite/spi/discovery/zk/internal/ZkJoinedNodeEvtData.java     | 2 +-
 .../org/apache/ignite/spi/discovery/zk/internal/ZkRunnable.java   | 2 +-
 .../apache/ignite/spi/discovery/zk/internal/ZookeeperClient.java  | 2 +-
 .../ignite/spi/discovery/zk/internal/ZookeeperClusterNode.java    | 2 +-
 .../ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java  | 2 +-
 16 files changed, 16 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/d54070e6/modules/core/src/main/java/org/apache/ignite/configuration/CommunicationFailureContext.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/CommunicationFailureContext.java b/modules/core/src/main/java/org/apache/ignite/configuration/CommunicationFailureContext.java
index d75cfdc..a32d38c 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/CommunicationFailureContext.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/CommunicationFailureContext.java
@@ -23,7 +23,7 @@ import org.apache.ignite.cluster.ClusterNode;
 import org.apache.ignite.spi.communication.CommunicationSpi;
 
 /**
- *
+ * Communication Failure Context.
  */
 public interface CommunicationFailureContext {
     /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/d54070e6/modules/core/src/main/java/org/apache/ignite/configuration/CommunicationFailureResolver.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/CommunicationFailureResolver.java b/modules/core/src/main/java/org/apache/ignite/configuration/CommunicationFailureResolver.java
index ca8b4d9..a4d92f3 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/CommunicationFailureResolver.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/CommunicationFailureResolver.java
@@ -18,7 +18,7 @@
 package org.apache.ignite.configuration;
 
 /**
- *
+ * Communication Failure Resolver.
  */
 public interface CommunicationFailureResolver {
     /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/d54070e6/modules/core/src/main/java/org/apache/ignite/configuration/DefaultCommunicationFailureResolver.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/DefaultCommunicationFailureResolver.java b/modules/core/src/main/java/org/apache/ignite/configuration/DefaultCommunicationFailureResolver.java
index 4aa6f28..a4c6da9 100644
--- a/modules/core/src/main/java/org/apache/ignite/configuration/DefaultCommunicationFailureResolver.java
+++ b/modules/core/src/main/java/org/apache/ignite/configuration/DefaultCommunicationFailureResolver.java
@@ -27,7 +27,7 @@ import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.resources.LoggerResource;
 
 /**
- *
+ * Default Communication Failure Resolver.
  */
 public class DefaultCommunicationFailureResolver implements CommunicationFailureResolver {
     /** */

http://git-wip-us.apache.org/repos/asf/ignite/blob/d54070e6/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/ConnectionKey.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/ConnectionKey.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/ConnectionKey.java
index f03dd62..0559df7 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/ConnectionKey.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/ConnectionKey.java
@@ -22,7 +22,7 @@ import org.apache.ignite.internal.util.typedef.internal.S;
 import org.jetbrains.annotations.NotNull;
 
 /**
- *
+ * Connection Key.
  */
 public class ConnectionKey {
     /** */

http://git-wip-us.apache.org/repos/asf/ignite/blob/d54070e6/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpCommunicationConnectionCheckFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpCommunicationConnectionCheckFuture.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpCommunicationConnectionCheckFuture.java
index 5c7ef85..c42fa57 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpCommunicationConnectionCheckFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpCommunicationConnectionCheckFuture.java
@@ -48,7 +48,7 @@ import static org.apache.ignite.events.EventType.EVT_NODE_FAILED;
 import static org.apache.ignite.events.EventType.EVT_NODE_LEFT;
 
 /**
- *
+ * Tcp Communication Connection Check Future.
  */
 public class TcpCommunicationConnectionCheckFuture extends GridFutureAdapter<BitSet> implements IgniteSpiTimeoutObject, GridLocalEventListener {
     /** Session future. */

http://git-wip-us.apache.org/repos/asf/ignite/blob/d54070e6/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpCommunicationNodeConnectionCheckFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpCommunicationNodeConnectionCheckFuture.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpCommunicationNodeConnectionCheckFuture.java
index c034782..cbf27b5 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpCommunicationNodeConnectionCheckFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpCommunicationNodeConnectionCheckFuture.java
@@ -20,7 +20,7 @@ package org.apache.ignite.spi.communication.tcp.internal;
 import java.util.UUID;
 
 /**
- *
+ * Tcp Communication Node Connection Check Future.
  */
 public interface TcpCommunicationNodeConnectionCheckFuture {
     /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/d54070e6/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpi.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpi.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpi.java
index d7d3877..860c71c 100644
--- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpi.java
+++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpi.java
@@ -63,7 +63,7 @@ import static org.apache.ignite.IgniteSystemProperties.IGNITE_CONSISTENT_ID_BY_H
 import static org.apache.ignite.IgniteSystemProperties.getBoolean;
 
 /**
- *
+ * Zookeeper Discovery Spi.
  */
 @IgniteSpiMultipleInstancesSupport(true)
 @DiscoverySpiOrderSupport(true)

http://git-wip-us.apache.org/repos/asf/ignite/blob/d54070e6/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkAliveNodeData.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkAliveNodeData.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkAliveNodeData.java
index 9574325..d824377 100644
--- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkAliveNodeData.java
+++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkAliveNodeData.java
@@ -21,7 +21,7 @@ import java.io.Serializable;
 import org.apache.ignite.internal.util.typedef.internal.S;
 
 /**
- *
+ * Zk Alive Node Data.
  */
 public class ZkAliveNodeData implements Serializable {
     /** */

http://git-wip-us.apache.org/repos/asf/ignite/blob/d54070e6/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkClusterNodes.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkClusterNodes.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkClusterNodes.java
index 70bdc3e..7e2ea7b 100644
--- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkClusterNodes.java
+++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkClusterNodes.java
@@ -26,7 +26,7 @@ import java.util.concurrent.ConcurrentSkipListMap;
 import org.apache.ignite.cluster.ClusterNode;
 
 /**
- *
+ * Zk Cluster Nodes.
  */
 public class ZkClusterNodes {
     /** */

http://git-wip-us.apache.org/repos/asf/ignite/blob/d54070e6/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkCommunicationErrorResolveStartMessage.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkCommunicationErrorResolveStartMessage.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkCommunicationErrorResolveStartMessage.java
index bb63f30..0c79c36 100644
--- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkCommunicationErrorResolveStartMessage.java
+++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkCommunicationErrorResolveStartMessage.java
@@ -23,7 +23,7 @@ import org.apache.ignite.spi.discovery.DiscoverySpiCustomMessage;
 import org.jetbrains.annotations.Nullable;
 
 /**
- *
+ * Zk Communication Error Resolve Start Message.
  */
 public class ZkCommunicationErrorResolveStartMessage implements DiscoverySpiCustomMessage, ZkInternalMessage {
     /** */

http://git-wip-us.apache.org/repos/asf/ignite/blob/d54070e6/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkForceNodeFailMessage.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkForceNodeFailMessage.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkForceNodeFailMessage.java
index 9d8980e..de7291c 100644
--- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkForceNodeFailMessage.java
+++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkForceNodeFailMessage.java
@@ -17,13 +17,12 @@
 
 package org.apache.ignite.spi.discovery.zk.internal;
 
-import java.util.UUID;
 import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.spi.discovery.DiscoverySpiCustomMessage;
 import org.jetbrains.annotations.Nullable;
 
 /**
- *
+ * Zk Force Node Fail Message.
  */
 public class ZkForceNodeFailMessage implements DiscoverySpiCustomMessage, ZkInternalMessage {
     /** */

http://git-wip-us.apache.org/repos/asf/ignite/blob/d54070e6/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkJoinedNodeEvtData.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkJoinedNodeEvtData.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkJoinedNodeEvtData.java
index 8149afc..3c367cf 100644
--- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkJoinedNodeEvtData.java
+++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkJoinedNodeEvtData.java
@@ -21,7 +21,7 @@ import java.io.Serializable;
 import java.util.UUID;
 
 /**
- *
+ * Zk Joined Node Evt Data.
  */
 public class ZkJoinedNodeEvtData implements Serializable {
     /** */

http://git-wip-us.apache.org/repos/asf/ignite/blob/d54070e6/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkRunnable.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkRunnable.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkRunnable.java
index fb6cf89..965bdc0 100644
--- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkRunnable.java
+++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZkRunnable.java
@@ -18,7 +18,7 @@
 package org.apache.ignite.spi.discovery.zk.internal;
 
 /**
- *
+ * Zk Runnable.
  */
 public abstract class ZkRunnable extends ZkAbstractCallabck implements Runnable {
     /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/d54070e6/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClient.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClient.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClient.java
index 6665644..b670158 100644
--- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClient.java
+++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClient.java
@@ -39,7 +39,7 @@ import org.apache.zookeeper.data.Stat;
 import org.jetbrains.annotations.Nullable;
 
 /**
- *
+ * Zookeeper Client.
  */
 public class ZookeeperClient implements Watcher {
     /** */

http://git-wip-us.apache.org/repos/asf/ignite/blob/d54070e6/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClusterNode.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClusterNode.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClusterNode.java
index 33be383..3cb5fad 100644
--- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClusterNode.java
+++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClusterNode.java
@@ -39,7 +39,7 @@ import static org.apache.ignite.internal.IgniteNodeAttributes.ATTR_DAEMON;
 import static org.apache.ignite.internal.IgniteNodeAttributes.ATTR_NODE_CONSISTENT_ID;
 
 /**
- *
+ * Zookeeper Cluster Node.
  */
 public class ZookeeperClusterNode implements IgniteClusterNode, Serializable, Comparable<ZookeeperClusterNode> {
     /** */

http://git-wip-us.apache.org/repos/asf/ignite/blob/d54070e6/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
index b7870f3..3cb9c19 100644
--- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
+++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
@@ -107,7 +107,7 @@ import static org.apache.zookeeper.CreateMode.EPHEMERAL_SEQUENTIAL;
 import static org.apache.zookeeper.CreateMode.PERSISTENT;
 
 /**
- *
+ * Zookeeper Discovery Impl.
  */
 public class ZookeeperDiscoveryImpl {
     /** */


[07/12] ignite git commit: ignite-zk NPE fixed in MultipleAddressesConnectFuture

Posted by sb...@apache.org.
ignite-zk NPE fixed in MultipleAddressesConnectFuture


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

Branch: refs/heads/ignite-zk
Commit: 2185bbd93674fbd08f50a0b78aa3ce46c91fc027
Parents: f06aef5
Author: Sergey Chugunov <se...@gmail.com>
Authored: Thu Feb 1 16:35:27 2018 +0300
Committer: Sergey Chugunov <se...@gmail.com>
Committed: Thu Feb 1 16:35:27 2018 +0300

----------------------------------------------------------------------
 .../TcpCommunicationConnectionCheckFuture.java      | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/2185bbd9/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpCommunicationConnectionCheckFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpCommunicationConnectionCheckFuture.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpCommunicationConnectionCheckFuture.java
index 9c161d3..a2bfbda 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpCommunicationConnectionCheckFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpCommunicationConnectionCheckFuture.java
@@ -428,25 +428,27 @@ public class TcpCommunicationConnectionCheckFuture extends GridFutureAdapter<Bit
         void init(Collection<InetSocketAddress> addrs) {
             SingleAddressConnectFuture[] futs = new SingleAddressConnectFuture[addrs.size()];
 
-            int idx = 0;
-
-            for (InetSocketAddress addr : addrs) {
+            for (int i = 0; i < addrs.size(); i++) {
                 SingleAddressConnectFuture fut = new SingleAddressConnectFuture(nodeIdx) {
                     @Override void onStatusReceived(boolean res) {
                         receivedAddressStatus(res);
                     }
                 };
 
-                fut.init(addr);
+                futs[i] = fut;
+            }
 
-                futs[idx++] = fut;
+            this.futs = futs;
+
+            int idx = 0;
+
+            for (InetSocketAddress addr : addrs) {
+                futs[idx++].init(addr);
 
                 if (resCnt == Integer.MAX_VALUE)
                     return;
             }
 
-            this.futs = futs;
-
             // Close race.
             if (done())
                 cancelFutures();


[08/12] ignite git commit: GG-13537 dummy ConnectionKey was replaced with regular one (dummy flag was added)

Posted by sb...@apache.org.
GG-13537 dummy ConnectionKey was replaced with regular one (dummy flag was added)


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

Branch: refs/heads/ignite-zk
Commit: dd55a92847e10b811330e537f6387ca5c28b56ab
Parents: 2185bbd
Author: Sergey Chugunov <se...@gmail.com>
Authored: Wed Mar 7 12:50:17 2018 +0300
Committer: Sergey Chugunov <se...@gmail.com>
Committed: Wed Mar 7 12:50:28 2018 +0300

----------------------------------------------------------------------
 .../communication/tcp/TcpCommunicationSpi.java  |  9 +++---
 .../tcp/internal/ConnectionKey.java             | 29 ++++++++++++++++++--
 .../TcpCommunicationConnectionCheckFuture.java  | 17 ++++++------
 3 files changed, 39 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/dd55a928/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
index ac3ba1c..a0e942c 100755
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java
@@ -151,7 +151,6 @@ import org.jsr166.ConcurrentLinkedDeque8;
 import static org.apache.ignite.events.EventType.EVT_NODE_FAILED;
 import static org.apache.ignite.events.EventType.EVT_NODE_LEFT;
 import static org.apache.ignite.internal.util.nio.GridNioSessionMetaKey.SSL_META;
-import static org.apache.ignite.spi.communication.tcp.internal.TcpCommunicationConnectionCheckFuture.CONN_CHECK_DUMMY_KEY;
 import static org.apache.ignite.spi.communication.tcp.internal.TcpCommunicationConnectionCheckFuture.SES_FUT_META;
 import static org.apache.ignite.spi.communication.tcp.messages.RecoveryLastReceivedMessage.ALREADY_CONNECTED;
 import static org.apache.ignite.spi.communication.tcp.messages.RecoveryLastReceivedMessage.NEED_WAIT;
@@ -414,10 +413,10 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter implements Communicati
             @Override public void onDisconnected(GridNioSession ses, @Nullable Exception e) {
                 ConnectionKey connId = ses.meta(CONN_IDX_META);
 
-                if (connId == CONN_CHECK_DUMMY_KEY)
-                    return;
-
                 if (connId != null) {
+                    if (connId.dummy())
+                        return;
+
                     UUID id = connId.nodeId();
 
                     GridCommunicationClient[] nodeClients = clients.get(id);
@@ -748,7 +747,7 @@ public class TcpCommunicationSpi extends IgniteSpiAdapter implements Communicati
                                 recovery.lastAcknowledged(rcvCnt);
                             }
                         }
-                        else if (connKey == CONN_CHECK_DUMMY_KEY) {
+                        else if (connKey.dummy()) {
                             assert msg instanceof NodeIdMessage : msg;
 
                             TcpCommunicationNodeConnectionCheckFuture fut = ses.meta(SES_FUT_META);

http://git-wip-us.apache.org/repos/asf/ignite/blob/dd55a928/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/ConnectionKey.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/ConnectionKey.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/ConnectionKey.java
index 6716446..f03dd62 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/ConnectionKey.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/ConnectionKey.java
@@ -19,6 +19,7 @@ package org.apache.ignite.spi.communication.tcp.internal;
 
 import java.util.UUID;
 import org.apache.ignite.internal.util.typedef.internal.S;
+import org.jetbrains.annotations.NotNull;
 
 /**
  *
@@ -33,15 +34,32 @@ public class ConnectionKey {
     /** */
     private final long connCnt;
 
+    /** */
+    private final boolean dummy;
+
+    /**
+     * Creates ConnectionKey with false value of dummy flag.
+     *
+     * @param nodeId Node ID. Should be not null.
+     * @param idx Connection index.
+     * @param connCnt Connection counter (set only for incoming connections).
+     */
+    public ConnectionKey(@NotNull UUID nodeId, int idx, long connCnt) {
+        this(nodeId, idx, connCnt, false);
+    }
+
     /**
-     * @param nodeId Node ID.
+     * @param nodeId Node ID. Should be not null.
      * @param idx Connection index.
      * @param connCnt Connection counter (set only for incoming connections).
+     * @param dummy Indicates that session with this ConnectionKey is temporary
+     *              (for now dummy sessions are used only for Communication Failure Resolving process).
      */
-    public ConnectionKey(UUID nodeId, int idx, long connCnt) {
+    public ConnectionKey(@NotNull UUID nodeId, int idx, long connCnt, boolean dummy) {
         this.nodeId = nodeId;
         this.idx = idx;
         this.connCnt = connCnt;
+        this.dummy = dummy;
     }
 
     /**
@@ -65,6 +83,13 @@ public class ConnectionKey {
         return idx;
     }
 
+    /**
+     * @return {@code True} if this ConnectionKey is dummy and serves temporary session.
+     */
+    public boolean dummy() {
+        return dummy;
+    }
+
     /** {@inheritDoc} */
     @Override public boolean equals(Object o) {
         if (this == o)

http://git-wip-us.apache.org/repos/asf/ignite/blob/dd55a928/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpCommunicationConnectionCheckFuture.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpCommunicationConnectionCheckFuture.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpCommunicationConnectionCheckFuture.java
index a2bfbda..5c7ef85 100644
--- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpCommunicationConnectionCheckFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/internal/TcpCommunicationConnectionCheckFuture.java
@@ -55,9 +55,6 @@ public class TcpCommunicationConnectionCheckFuture extends GridFutureAdapter<Bit
     public static final int SES_FUT_META = GridNioSessionMetaKey.nextUniqueKey();
 
     /** */
-    public static final ConnectionKey CONN_CHECK_DUMMY_KEY = new ConnectionKey(null, -1, -1);
-
-    /** */
     private static final AtomicIntegerFieldUpdater<SingleAddressConnectFuture> connFutDoneUpdater =
         AtomicIntegerFieldUpdater.newUpdater(SingleAddressConnectFuture.class, "done");
 
@@ -145,14 +142,14 @@ public class TcpCommunicationConnectionCheckFuture extends GridFutureAdapter<Bit
                 if (addrs.size() == 1) {
                     SingleAddressConnectFuture fut = new SingleAddressConnectFuture(i);
 
-                    fut.init(addrs.iterator().next());
+                    fut.init(addrs.iterator().next(), node.id());
 
                     futs[i] = fut;
                 }
                 else {
                     MultipleAddressesConnectFuture fut = new MultipleAddressesConnectFuture(i);
 
-                    fut.init(addrs);
+                    fut.init(addrs, node.id());
 
                     futs[i] = fut;
                 }
@@ -295,8 +292,9 @@ public class TcpCommunicationConnectionCheckFuture extends GridFutureAdapter<Bit
 
         /**
          * @param addr Node address.
+         * @param rmtNodeId Id of node to open connection check session with.
          */
-        public void init(InetSocketAddress addr) {
+        public void init(InetSocketAddress addr, UUID rmtNodeId) {
             boolean connect;
 
             try {
@@ -319,7 +317,7 @@ public class TcpCommunicationConnectionCheckFuture extends GridFutureAdapter<Bit
                 sesMeta = new GridLeanMap<>(3);
 
                 // Set dummy key to identify connection-check outgoing connection.
-                sesMeta.put(TcpCommunicationSpi.CONN_IDX_META, CONN_CHECK_DUMMY_KEY);
+                sesMeta.put(TcpCommunicationSpi.CONN_IDX_META, new ConnectionKey(rmtNodeId, -1, -1, true));
                 sesMeta.put(SES_FUT_META, this);
 
                 nioSrvr.createSession(ch, sesMeta, true, new IgniteInClosure<IgniteInternalFuture<GridNioSession>>() {
@@ -424,8 +422,9 @@ public class TcpCommunicationConnectionCheckFuture extends GridFutureAdapter<Bit
 
         /**
          * @param addrs Node addresses.
+         * @param rmtNodeId Id of node to open connection check session with.
          */
-        void init(Collection<InetSocketAddress> addrs) {
+        void init(Collection<InetSocketAddress> addrs, UUID rmtNodeId) {
             SingleAddressConnectFuture[] futs = new SingleAddressConnectFuture[addrs.size()];
 
             for (int i = 0; i < addrs.size(); i++) {
@@ -443,7 +442,7 @@ public class TcpCommunicationConnectionCheckFuture extends GridFutureAdapter<Bit
             int idx = 0;
 
             for (InetSocketAddress addr : addrs) {
-                futs[idx++].init(addr);
+                futs[idx++].init(addr, rmtNodeId);
 
                 if (resCnt == Integer.MAX_VALUE)
                     return;


[09/12] ignite git commit: ignite-zk logging improvements

Posted by sb...@apache.org.
ignite-zk logging improvements


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

Branch: refs/heads/ignite-zk
Commit: cf4d5989e204ccd15cb738f820ad0fd746a2a0ee
Parents: dd55a92
Author: Sergey Chugunov <se...@gmail.com>
Authored: Wed Mar 7 14:52:36 2018 +0300
Committer: Sergey Chugunov <se...@gmail.com>
Committed: Wed Mar 7 14:52:36 2018 +0300

----------------------------------------------------------------------
 .../apache/ignite/spi/discovery/zk/internal/ZookeeperClient.java   | 2 ++
 .../ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java   | 1 +
 2 files changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/cf4d5989/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClient.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClient.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClient.java
index 6e0a167..6665644 100644
--- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClient.java
+++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperClient.java
@@ -201,6 +201,8 @@ public class ZookeeperClient implements Watcher {
                         break;
 
                     case Expired:
+                        U.warn(log, "Session expired, changing state to Lost");
+
                         newState = ConnectionState.Lost;
 
                         break;

http://git-wip-us.apache.org/repos/asf/ignite/blob/cf4d5989/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
index bf81e28..b7870f3 100644
--- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
+++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
@@ -998,6 +998,7 @@ public class ZookeeperDiscoveryImpl {
             if (log.isInfoEnabled()) {
                 log.info("Node started join [nodeId=" + locNode.id() +
                     ", instanceName=" + locNode.attribute(ATTR_IGNITE_INSTANCE_NAME) +
+                    ", zkSessionId=0x" + Long.toHexString(rtState.zkClient.zk().getSessionId()) +
                     ", joinDataSize=" + joinDataBytes.length +
                     (rtState.joinDataPartCnt > 1 ? (", joinDataPartCnt=" + rtState.joinDataPartCnt) : "") +
                     ", consistentId=" + locNode.consistentId() +


[02/12] ignite git commit: ignite-zk Stopper node should not generate any discovery events

Posted by sb...@apache.org.
ignite-zk Stopper node should not generate any discovery events


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

Branch: refs/heads/ignite-zk
Commit: a9ce2cfda0fd68b3809322681788fc575c0a964e
Parents: e937194
Author: Sergey Chugunov <se...@gmail.com>
Authored: Wed Jan 17 14:02:19 2018 +0300
Committer: Sergey Chugunov <se...@gmail.com>
Committed: Wed Jan 17 14:02:19 2018 +0300

----------------------------------------------------------------------
 .../zk/internal/ZookeeperDiscoveryImpl.java     |  5 +++-
 .../zk/internal/ZookeeperDiscoverySpiTest.java  | 30 +++++++++++---------
 2 files changed, 21 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/a9ce2cfd/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
index c1a904c..a2d8890 100644
--- a/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
+++ b/modules/zookeeper/src/main/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java
@@ -2054,6 +2054,9 @@ public class ZookeeperDiscoveryImpl {
      * @throws Exception If failed.
      */
     private void saveAndProcessNewEvents() throws Exception {
+        if (stopping())
+            return;
+
         long start = System.currentTimeMillis();
 
         byte[] evtsBytes = marshalZip(rtState.evtsData);
@@ -3006,7 +3009,7 @@ public class ZookeeperDiscoveryImpl {
         assert locNode.isClient() : locNode;
 
         throw localNodeFail("All server nodes failed, client node disconnected " +
-            "(received 'no-servers' message ) [locId=" + locNode.id() + ']', true);
+            "(received 'no-servers' message) [locId=" + locNode.id() + ']', true);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/ignite/blob/a9ce2cfd/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java
----------------------------------------------------------------------
diff --git a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java
index 396e73e..9a02f95 100644
--- a/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java
+++ b/modules/zookeeper/src/test/java/org/apache/ignite/spi/discovery/zk/internal/ZookeeperDiscoverySpiTest.java
@@ -419,11 +419,11 @@ public class ZookeeperDiscoverySpiTest extends GridCommonAbstractTest {
         try {
             assertFalse("Unexpected error, see log for details", err);
 
-            checkEventsConsistency();
+//            checkEventsConsistency();
 
             checkInternalStructuresCleanup();
 
-            // checkZkNodesCleanup();
+//             checkZkNodesCleanup();
         }
         finally {
             reset();
@@ -1860,25 +1860,29 @@ public class ZookeeperDiscoverySpiTest extends GridCommonAbstractTest {
 
         AtomicBoolean stop = new AtomicBoolean();
 
-        IgniteInternalFuture<?> fut1 = restartZk ? startRestartZkServers(stopTime, stop) : null;
-        IgniteInternalFuture<?> fut2 = closeClientSock ? startCloseZkClientSocket(stopTime, stop) : null;
+        IgniteInternalFuture<?> fut1 = null;
 
-        int INIT_NODES = 10;
+        IgniteInternalFuture<?> fut2 = null;
 
-        startGridsMultiThreaded(INIT_NODES);
+        try {
+            fut1 = restartZk ? startRestartZkServers(stopTime, stop) : null;
+            fut2 = closeClientSock ? startCloseZkClientSocket(stopTime, stop) : null;
 
-        final int MAX_NODES = 20;
+            int INIT_NODES = 10;
 
-        final List<Integer> startedNodes = new ArrayList<>();
+            startGridsMultiThreaded(INIT_NODES);
 
-        for (int i = 0; i < INIT_NODES; i++)
-            startedNodes.add(i);
+            final int MAX_NODES = 20;
 
-        ThreadLocalRandom rnd = ThreadLocalRandom.current();
+            final List<Integer> startedNodes = new ArrayList<>();
 
-        final AtomicInteger startIdx = new AtomicInteger(INIT_NODES);
+            for (int i = 0; i < INIT_NODES; i++)
+                startedNodes.add(i);
+
+            ThreadLocalRandom rnd = ThreadLocalRandom.current();
+
+            final AtomicInteger startIdx = new AtomicInteger(INIT_NODES);
 
-        try {
             while (System.currentTimeMillis() < stopTime) {
                 if (startedNodes.size() >= MAX_NODES) {
                     int stopNodes = rnd.nextInt(5) + 1;