You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vk...@apache.org on 2021/06/25 03:25:44 UTC

[ignite-3] 03/07: IGNITE-14994 - Topology snapshot print out

This is an automated email from the ASF dual-hosted git repository.

vkulichenko pushed a commit to branch ignite-3.0.0-alpha2
in repository https://gitbox.apache.org/repos/asf/ignite-3.git

commit 9b314004ae561f9f0b009907f9bcc2eb44b65e81
Author: Valentin Kulichenko <va...@gmail.com>
AuthorDate: Thu Jun 24 14:17:05 2021 -0700

    IGNITE-14994 - Topology snapshot print out
---
 .../main/java/org/apache/ignite/network/ClusterNode.java |  2 ++
 .../network/scalecube/ScaleCubeTopologyService.java      | 16 ++++++++++++++++
 2 files changed, 18 insertions(+)

diff --git a/modules/network-api/src/main/java/org/apache/ignite/network/ClusterNode.java b/modules/network-api/src/main/java/org/apache/ignite/network/ClusterNode.java
index 2573a08..4a48908 100644
--- a/modules/network-api/src/main/java/org/apache/ignite/network/ClusterNode.java
+++ b/modules/network-api/src/main/java/org/apache/ignite/network/ClusterNode.java
@@ -18,6 +18,7 @@ package org.apache.ignite.network;
 
 import java.io.Serializable;
 import java.util.Objects;
+import org.apache.ignite.internal.tostring.IgniteToStringExclude;
 import org.apache.ignite.internal.tostring.S;
 
 /**
@@ -37,6 +38,7 @@ public class ClusterNode implements Serializable {
     private final int port;
 
     /** Node address in host:port format (lazily evaluated) */
+    @IgniteToStringExclude
     private String address;
 
     /**
diff --git a/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeTopologyService.java b/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeTopologyService.java
index 4f41fd0..352469f 100644
--- a/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeTopologyService.java
+++ b/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeTopologyService.java
@@ -22,6 +22,7 @@ import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
 import io.scalecube.cluster.Member;
 import io.scalecube.cluster.membership.MembershipEvent;
+import org.apache.ignite.lang.IgniteLogger;
 import org.apache.ignite.network.AbstractTopologyService;
 import org.apache.ignite.network.ClusterNode;
 import org.apache.ignite.network.TopologyEventHandler;
@@ -31,6 +32,9 @@ import org.apache.ignite.network.TopologyService;
  * Implementation of {@link TopologyService} based on ScaleCube.
  */
 final class ScaleCubeTopologyService extends AbstractTopologyService {
+    /** Logger. */
+    private static final IgniteLogger LOG = IgniteLogger.forClass(ScaleCubeTopologyService.class);
+
     /** Local member node. */
     private ClusterNode localMember;
 
@@ -56,14 +60,26 @@ final class ScaleCubeTopologyService extends AbstractTopologyService {
         if (event.isAdded()) {
             members.put(member.address(), member);
 
+            LOG.info("Node joined: " + member);
+
             fireAppearedEvent(member);
         }
         else if (event.isRemoved()) {
             members.compute(member.address(), // Ignore stale remove event.
                 (k, v) -> v.id().equals(member.id()) ? null : v);
 
+            LOG.info("Node left: " + member);
+
             fireDisappearedEvent(member);
         }
+
+        StringBuilder snapshotMsg = new StringBuilder("Topology snapshot [nodes=").append(members.size()).append("]\n");
+
+        for (ClusterNode node : members.values()) {
+            snapshotMsg.append("  ^-- ").append(node).append('\n');
+        }
+
+        LOG.info(snapshotMsg.toString().trim());
     }
 
     /**