diff --git a/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/EtcdCoordinator.java b/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/EtcdCoordinator.java index 8a7df694c88d1378a2db473a7f827f10b15b676a..b61415845a147f2bb9620d2a0f4cbbd682c0cecc 100644 --- a/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/EtcdCoordinator.java +++ b/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/EtcdCoordinator.java @@ -68,7 +68,11 @@ public class EtcdCoordinator implements ClusterRegister, ClusterNodesQuery { if (nodes != null) { nodes.forEach(node -> { EtcdEndpoint endpoint = gson.fromJson(node.getValue(), EtcdEndpoint.class); - res.add(new RemoteInstance(new Address(endpoint.getHost(), endpoint.getPort(), true))); + Address address = new Address(endpoint.getHost(), endpoint.getPort(), true); + if (!address.equals(selfAddress)) { + address.setSelf(false); + } + res.add(new RemoteInstance(address)); }); }