Repository: ignite
Updated Branches:
  refs/heads/master f0544d46a -> 5f9a1e68c


IGNITE-10513 Fix NullPointerException on reconnect for TCP/Zookeeper Discovery 
SPIs - Fixes #5557.

Signed-off-by: Ilya Kasnacheev <[email protected]>


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

Branch: refs/heads/master
Commit: 5f9a1e68c2575ef8bf16ae188036bc6ef9620b9a
Parents: f0544d4
Author: Dmitry Lazurkin <[email protected]>
Authored: Tue Dec 11 13:23:31 2018 +0300
Committer: Ilya Kasnacheev <[email protected]>
Committed: Tue Dec 11 13:23:31 2018 +0300

----------------------------------------------------------------------
 .../java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java  | 2 +-
 .../apache/ignite/spi/discovery/zk/ZookeeperDiscoverySpi.java | 7 +++++++
 .../spi/discovery/zk/internal/ZookeeperDiscoveryImpl.java     | 2 +-
 3 files changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/5f9a1e68/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
index ff4df86..e094151 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ClientImpl.java
@@ -732,7 +732,7 @@ class ClientImpl extends TcpDiscoveryImpl {
                     TcpDiscoveryNode node = locNode;
 
                     if (locNode.order() > 0) {
-                        node = 
locNode.clientReconnectNode(spi.spiCtx.nodeAttributes());
+                        node = locNode.clientReconnectNode(spi.locNodeAttrs);
 
                         marshalCredentials(node);
                     }

http://git-wip-us.apache.org/repos/asf/ignite/blob/5f9a1e68/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 52f77fc..222b73b 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
@@ -502,6 +502,13 @@ public class ZookeeperDiscoverySpi extends 
IgniteSpiAdapter implements IgniteDis
     }
 
     /**
+     * @return Local node attributes
+     */
+    public Map<String, Object> getLocNodeAttrs() {
+        return locNodeAttrs;
+    }
+
+    /**
      * @return Local node instance.
      */
     private ZookeeperClusterNode initLocalNode() {

http://git-wip-us.apache.org/repos/asf/ignite/blob/5f9a1e68/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 284f642..fa218ff 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
@@ -740,7 +740,7 @@ public class ZookeeperDiscoveryImpl {
                 internalLsnr.beforeJoin(locNode, log);
 
             if (locNode.isClient() && reconnect)
-                locNode.setAttributes(spi.getSpiContext().nodeAttributes());
+                locNode.setAttributes(spi.getLocNodeAttrs());
 
             marshalCredentialsOnJoin(locNode);
 

Reply via email to