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 <valentin.kuliche...@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()); } /**