This is an automated email from the ASF dual-hosted git repository.
sdanilov pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new c5ea2032db IGNITE-18276 Return topology version in
CMGManager.logicalTopology (#1388)
c5ea2032db is described below
commit c5ea2032db9da7db3c60c174b45c0992df36a5c1
Author: Roman Puchkovskiy <[email protected]>
AuthorDate: Wed Nov 30 10:40:21 2022 +0400
IGNITE-18276 Return topology version in CMGManager.logicalTopology (#1388)
---
.../cluster/management/ItClusterManagerTest.java | 20 ++++++++---------
.../internal/cluster/management/MockNode.java | 6 +++++
.../management/raft/ItCmgRaftServiceTest.java | 24 ++++++++++++--------
.../management/ClusterManagementGroupManager.java | 9 ++++----
.../cluster/management/raft/CmgRaftService.java | 8 +++----
.../raft/responses/LogicalTopologyResponse.java | 9 ++++----
.../management/rest/TopologyController.java | 4 ++++
.../management/topology/LogicalTopology.java | 5 ++---
.../management/topology/LogicalTopologyImpl.java | 5 ++---
.../topology/LogicalTopologyImplTest.java | 26 +++++++++++-----------
10 files changed, 65 insertions(+), 51 deletions(-)
diff --git
a/modules/cluster-management/src/integrationTest/java/org/apache/ignite/internal/cluster/management/ItClusterManagerTest.java
b/modules/cluster-management/src/integrationTest/java/org/apache/ignite/internal/cluster/management/ItClusterManagerTest.java
index b1db5cf8f2..731a514fd0 100644
---
a/modules/cluster-management/src/integrationTest/java/org/apache/ignite/internal/cluster/management/ItClusterManagerTest.java
+++
b/modules/cluster-management/src/integrationTest/java/org/apache/ignite/internal/cluster/management/ItClusterManagerTest.java
@@ -124,8 +124,8 @@ public class ItClusterManagerTest {
ClusterNode[] expectedTopology = currentPhysicalTopology();
- assertThat(cluster.get(0).clusterManager().logicalTopology(),
will(containsInAnyOrder(expectedTopology)));
- assertThat(cluster.get(1).clusterManager().logicalTopology(),
will(containsInAnyOrder(expectedTopology)));
+ assertThat(cluster.get(0).logicalTopologyNodes(),
will(containsInAnyOrder(expectedTopology)));
+ assertThat(cluster.get(1).logicalTopologyNodes(),
will(containsInAnyOrder(expectedTopology)));
}
/**
@@ -171,7 +171,7 @@ public class ItClusterManagerTest {
assertThat(cluster.get(0).clusterManager().metaStorageNodes(),
will(containsInAnyOrder(aliveNodes)));
- assertThat(cluster.get(0).clusterManager().logicalTopology(),
will(containsInAnyOrder(currentPhysicalTopology())));
+ assertThat(cluster.get(0).logicalTopologyNodes(),
will(containsInAnyOrder(currentPhysicalTopology())));
}
/**
@@ -198,8 +198,8 @@ public class ItClusterManagerTest {
ClusterNode[] expectedTopology = currentPhysicalTopology();
- assertThat(cluster.get(0).clusterManager().logicalTopology(),
will(containsInAnyOrder(expectedTopology)));
- assertThat(cluster.get(1).clusterManager().logicalTopology(),
will(containsInAnyOrder(expectedTopology)));
+ assertThat(cluster.get(0).logicalTopologyNodes(),
will(containsInAnyOrder(expectedTopology)));
+ assertThat(cluster.get(1).logicalTopologyNodes(),
will(containsInAnyOrder(expectedTopology)));
}
/**
@@ -261,7 +261,7 @@ public class ItClusterManagerTest {
assertThat(node.startFuture(), willCompleteSuccessfully());
}
- assertThat(cluster.get(0).clusterManager().logicalTopology(),
will(containsInAnyOrder(currentPhysicalTopology())));
+ assertThat(cluster.get(0).logicalTopologyNodes(),
will(containsInAnyOrder(currentPhysicalTopology())));
}
/**
@@ -282,7 +282,7 @@ public class ItClusterManagerTest {
assertThat(node.startFuture(), willCompleteSuccessfully());
- assertThat(node.clusterManager().logicalTopology(),
will(containsInAnyOrder(currentPhysicalTopology())));
+ assertThat(node.logicalTopologyNodes(),
will(containsInAnyOrder(currentPhysicalTopology())));
}
/**
@@ -296,7 +296,7 @@ public class ItClusterManagerTest {
initCluster(cmgNodes, cmgNodes);
- assertThat(cluster.get(0).clusterManager().logicalTopology(),
will(containsInAnyOrder(currentPhysicalTopology())));
+ assertThat(cluster.get(0).logicalTopologyNodes(),
will(containsInAnyOrder(currentPhysicalTopology())));
MockNode nodeToStop = cluster.remove(1);
@@ -305,7 +305,7 @@ public class ItClusterManagerTest {
waitForLogicalTopology();
- assertThat(cluster.get(0).clusterManager().logicalTopology(),
will(containsInAnyOrder(currentPhysicalTopology())));
+ assertThat(cluster.get(0).logicalTopologyNodes(),
will(containsInAnyOrder(currentPhysicalTopology())));
}
/**
@@ -439,7 +439,7 @@ public class ItClusterManagerTest {
private void waitForLogicalTopology() throws InterruptedException {
assertTrue(waitForCondition(() -> {
- CompletableFuture<Collection<ClusterNode>> logicalTopology =
cluster.get(0).clusterManager().logicalTopology();
+ CompletableFuture<Collection<ClusterNode>> logicalTopology =
cluster.get(0).logicalTopologyNodes();
assertThat(logicalTopology, willCompleteSuccessfully());
diff --git
a/modules/cluster-management/src/integrationTest/java/org/apache/ignite/internal/cluster/management/MockNode.java
b/modules/cluster-management/src/integrationTest/java/org/apache/ignite/internal/cluster/management/MockNode.java
index 25af432e75..358811a51c 100644
---
a/modules/cluster-management/src/integrationTest/java/org/apache/ignite/internal/cluster/management/MockNode.java
+++
b/modules/cluster-management/src/integrationTest/java/org/apache/ignite/internal/cluster/management/MockNode.java
@@ -22,10 +22,12 @@ import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import
org.apache.ignite.internal.cluster.management.raft.RocksDbClusterStateStorage;
import
org.apache.ignite.internal.cluster.management.topology.LogicalTopologyImpl;
+import
org.apache.ignite.internal.cluster.management.topology.LogicalTopologySnapshot;
import org.apache.ignite.internal.hlc.HybridClockImpl;
import org.apache.ignite.internal.manager.IgniteComponent;
import org.apache.ignite.internal.raft.Loza;
@@ -171,4 +173,8 @@ public class MockNode {
public ClusterService clusterService() {
return clusterService;
}
+
+ CompletableFuture<Collection<ClusterNode>> logicalTopologyNodes() {
+ return
clusterManager().logicalTopology().thenApply(LogicalTopologySnapshot::nodes);
+ }
}
diff --git
a/modules/cluster-management/src/integrationTest/java/org/apache/ignite/internal/cluster/management/raft/ItCmgRaftServiceTest.java
b/modules/cluster-management/src/integrationTest/java/org/apache/ignite/internal/cluster/management/raft/ItCmgRaftServiceTest.java
index 4341908c52..9a9eee27c5 100644
---
a/modules/cluster-management/src/integrationTest/java/org/apache/ignite/internal/cluster/management/raft/ItCmgRaftServiceTest.java
+++
b/modules/cluster-management/src/integrationTest/java/org/apache/ignite/internal/cluster/management/raft/ItCmgRaftServiceTest.java
@@ -35,6 +35,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import java.nio.file.Path;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
@@ -46,6 +47,7 @@ import
org.apache.ignite.internal.cluster.management.network.messages.CmgMessage
import
org.apache.ignite.internal.cluster.management.raft.commands.JoinReadyCommand;
import
org.apache.ignite.internal.cluster.management.raft.commands.JoinRequestCommand;
import
org.apache.ignite.internal.cluster.management.topology.LogicalTopologyImpl;
+import
org.apache.ignite.internal.cluster.management.topology.LogicalTopologySnapshot;
import
org.apache.ignite.internal.configuration.testframework.ConfigurationExtension;
import
org.apache.ignite.internal.configuration.testframework.InjectConfiguration;
import org.apache.ignite.internal.hlc.HybridClockImpl;
@@ -150,6 +152,10 @@ public class ItCmgRaftServiceTest {
ClusterNode localMember() {
return clusterService.topologyService().localMember();
}
+
+ private CompletableFuture<Collection<ClusterNode>>
logicalTopologyNodes() {
+ return
raftService.logicalTopology().thenApply(LogicalTopologySnapshot::nodes);
+ }
}
private final List<Node> cluster = new ArrayList<>();
@@ -195,23 +201,23 @@ public class ItCmgRaftServiceTest {
assertThat(node1.raftService.initClusterState(clusterState),
willCompleteSuccessfully());
- assertThat(node1.raftService.logicalTopology(), willBe(empty()));
+ assertThat(node1.logicalTopologyNodes(), willBe(empty()));
assertThat(joinCluster(node1, clusterState.clusterTag()),
willCompleteSuccessfully());
- assertThat(node1.raftService.logicalTopology(),
will(contains(clusterNode1)));
+ assertThat(node1.logicalTopologyNodes(), will(contains(clusterNode1)));
assertThat(joinCluster(node2, clusterState.clusterTag()),
willCompleteSuccessfully());
- assertThat(node1.raftService.logicalTopology(),
will(containsInAnyOrder(clusterNode1, clusterNode2)));
+ assertThat(node1.logicalTopologyNodes(),
will(containsInAnyOrder(clusterNode1, clusterNode2)));
assertThat(node1.raftService.removeFromCluster(Set.of(clusterNode1)),
willCompleteSuccessfully());
- assertThat(node1.raftService.logicalTopology(),
will(contains(clusterNode2)));
+ assertThat(node1.logicalTopologyNodes(), will(contains(clusterNode2)));
assertThat(node1.raftService.removeFromCluster(Set.of(clusterNode2)),
willCompleteSuccessfully());
- assertThat(node1.raftService.logicalTopology(), willBe(empty()));
+ assertThat(node1.logicalTopologyNodes(), willBe(empty()));
}
private static CompletableFuture<Void> joinCluster(Node node, ClusterTag
clusterTag) {
@@ -247,21 +253,21 @@ public class ItCmgRaftServiceTest {
assertThat(joinFuture1, willCompleteSuccessfully());
assertThat(joinFuture2, willCompleteSuccessfully());
- assertThat(node1.raftService.logicalTopology(),
will(containsInAnyOrder(clusterNode1, clusterNode2)));
+ assertThat(node1.logicalTopologyNodes(),
will(containsInAnyOrder(clusterNode1, clusterNode2)));
joinFuture1 = joinCluster(node1, clusterState.clusterTag());
assertThat(joinFuture1, willCompleteSuccessfully());
- assertThat(node1.raftService.logicalTopology(),
will(containsInAnyOrder(clusterNode1, clusterNode2)));
+ assertThat(node1.logicalTopologyNodes(),
will(containsInAnyOrder(clusterNode1, clusterNode2)));
assertThat(node1.raftService.removeFromCluster(Set.of(clusterNode1,
clusterNode2)), willCompleteSuccessfully());
- assertThat(node2.raftService.logicalTopology(), willBe(empty()));
+ assertThat(node2.logicalTopologyNodes(), willBe(empty()));
assertThat(node1.raftService.removeFromCluster(Set.of(clusterNode1,
clusterNode2)), willCompleteSuccessfully());
- assertThat(node2.raftService.logicalTopology(), willBe(empty()));
+ assertThat(node2.logicalTopologyNodes(), willBe(empty()));
}
/**
diff --git
a/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/ClusterManagementGroupManager.java
b/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/ClusterManagementGroupManager.java
index b91a688405..6a9479c4f5 100644
---
a/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/ClusterManagementGroupManager.java
+++
b/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/ClusterManagementGroupManager.java
@@ -49,6 +49,7 @@ import
org.apache.ignite.internal.cluster.management.raft.IllegalInitArgumentExc
import org.apache.ignite.internal.cluster.management.raft.JoinDeniedException;
import
org.apache.ignite.internal.cluster.management.raft.commands.JoinReadyCommand;
import org.apache.ignite.internal.cluster.management.topology.LogicalTopology;
+import
org.apache.ignite.internal.cluster.management.topology.LogicalTopologySnapshot;
import org.apache.ignite.internal.logger.IgniteLogger;
import org.apache.ignite.internal.logger.Loggers;
import org.apache.ignite.internal.manager.IgniteComponent;
@@ -358,7 +359,7 @@ public class ClusterManagementGroupManager implements
IgniteComponent {
.map(ClusterNode::id)
.collect(toSet());
- Set<ClusterNode> nodesToRemove = logicalTopology.stream()
+ Set<ClusterNode> nodesToRemove =
logicalTopology.nodes().stream()
.filter(node ->
!physicalTopologyIds.contains(node.id()))
.collect(toUnmodifiableSet());
@@ -652,11 +653,11 @@ public class ClusterManagementGroupManager implements
IgniteComponent {
}
/**
- * Returns a future that, when complete, resolves into a list of nodes
that comprise the logical topology.
+ * Returns a future that, when complete, resolves into a logical topology
snapshot.
*
- * @return Future that, when complete, resolves into a list of nodes that
comprise the logical topology.
+ * @return Future that, when complete, resolves into a logical topology
snapshot.
*/
- public CompletableFuture<Collection<ClusterNode>> logicalTopology() {
+ public CompletableFuture<LogicalTopologySnapshot> logicalTopology() {
if (!busyLock.enterBusy()) {
return failedFuture(new NodeStoppingException());
}
diff --git
a/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/raft/CmgRaftService.java
b/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/raft/CmgRaftService.java
index fe7b8f7b65..795047cae6 100644
---
a/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/raft/CmgRaftService.java
+++
b/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/raft/CmgRaftService.java
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.cluster.management.raft;
-import java.util.Collection;
import java.util.List;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
@@ -32,6 +31,7 @@ import
org.apache.ignite.internal.cluster.management.raft.commands.JoinRequestCo
import
org.apache.ignite.internal.cluster.management.raft.commands.NodesLeaveCommand;
import
org.apache.ignite.internal.cluster.management.raft.responses.LogicalTopologyResponse;
import
org.apache.ignite.internal.cluster.management.raft.responses.ValidationErrorResponse;
+import
org.apache.ignite.internal.cluster.management.topology.LogicalTopologySnapshot;
import org.apache.ignite.internal.logger.IgniteLogger;
import org.apache.ignite.internal.logger.Loggers;
import org.apache.ignite.internal.properties.IgniteProductVersion;
@@ -173,11 +173,11 @@ public class CmgRaftService {
}
/**
- * Retrieves the logical topology.
+ * Retrieves the logical topology snapshot.
*
- * @return Logical topology.
+ * @return Logical topology snapshot.
*/
- public CompletableFuture<Collection<ClusterNode>> logicalTopology() {
+ public CompletableFuture<LogicalTopologySnapshot> logicalTopology() {
return raftService.run(msgFactory.readLogicalTopologyCommand().build())
.thenApply(LogicalTopologyResponse.class::cast)
.thenApply(LogicalTopologyResponse::logicalTopology);
diff --git
a/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/raft/responses/LogicalTopologyResponse.java
b/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/raft/responses/LogicalTopologyResponse.java
index 12af699491..a5251bc558 100644
---
a/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/raft/responses/LogicalTopologyResponse.java
+++
b/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/raft/responses/LogicalTopologyResponse.java
@@ -18,21 +18,20 @@
package org.apache.ignite.internal.cluster.management.raft.responses;
import java.io.Serializable;
-import java.util.Collection;
-import org.apache.ignite.network.ClusterNode;
+import
org.apache.ignite.internal.cluster.management.topology.LogicalTopologySnapshot;
/**
* Response containing the current logical topology.
*/
public class LogicalTopologyResponse implements Serializable {
- private final Collection<ClusterNode> topology;
+ private final LogicalTopologySnapshot topology;
/**
* Creates a new response.
*
* @param topology Logical topology.
*/
- public LogicalTopologyResponse(Collection<ClusterNode> topology) {
+ public LogicalTopologyResponse(LogicalTopologySnapshot topology) {
this.topology = topology;
}
@@ -41,7 +40,7 @@ public class LogicalTopologyResponse implements Serializable {
*
* @return Logical topology.
*/
- public Collection<ClusterNode> logicalTopology() {
+ public LogicalTopologySnapshot logicalTopology() {
return topology;
}
}
diff --git
a/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/rest/TopologyController.java
b/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/rest/TopologyController.java
index 83190908f4..773496fdaf 100644
---
a/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/rest/TopologyController.java
+++
b/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/rest/TopologyController.java
@@ -24,6 +24,7 @@ import java.util.Collection;
import java.util.List;
import java.util.concurrent.CompletableFuture;
import
org.apache.ignite.internal.cluster.management.ClusterManagementGroupManager;
+import
org.apache.ignite.internal.cluster.management.topology.LogicalTopologySnapshot;
import org.apache.ignite.internal.rest.api.cluster.ClusterNodeDto;
import org.apache.ignite.internal.rest.api.cluster.NetworkAddressDto;
import org.apache.ignite.internal.rest.api.cluster.NodeMetadataDto;
@@ -57,6 +58,8 @@ public class TopologyController implements TopologyApi {
/** {@inheritDoc} */
@Override
public CompletableFuture<Collection<ClusterNodeDto>> logicalTopology() {
+ // TODO: IGNITE-18277 - return an object containing both nodes and
topology version.
+
return cmgManager.clusterState()
.thenCompose(state -> {
if (state == null) {
@@ -65,6 +68,7 @@ public class TopologyController implements TopologyApi {
return cmgManager.logicalTopology();
})
+ .thenApply(LogicalTopologySnapshot::nodes)
.thenApply(TopologyController::toClusterNodeDtos);
}
diff --git
a/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/topology/LogicalTopology.java
b/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/topology/LogicalTopology.java
index 09d9ed6a8f..f77eb84f00 100644
---
a/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/topology/LogicalTopology.java
+++
b/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/topology/LogicalTopology.java
@@ -17,7 +17,6 @@
package org.apache.ignite.internal.cluster.management.topology;
-import java.util.Collection;
import java.util.Set;
import org.apache.ignite.network.ClusterNode;
@@ -27,9 +26,9 @@ import org.apache.ignite.network.ClusterNode;
*/
public interface LogicalTopology {
/**
- * Retrieves the current logical topology.
+ * Retrieves the current logical topology snapshot.
*/
- Collection<ClusterNode> getLogicalTopology();
+ LogicalTopologySnapshot getLogicalTopology();
/**
* Puts a given node as a part of the logical topology.
diff --git
a/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/topology/LogicalTopologyImpl.java
b/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/topology/LogicalTopologyImpl.java
index 5e44afb068..54dd8003e2 100644
---
a/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/topology/LogicalTopologyImpl.java
+++
b/modules/cluster-management/src/main/java/org/apache/ignite/internal/cluster/management/topology/LogicalTopologyImpl.java
@@ -21,7 +21,6 @@ import static java.nio.charset.StandardCharsets.UTF_8;
import static org.apache.ignite.internal.util.ByteUtils.fromBytes;
import static org.apache.ignite.internal.util.ByteUtils.toBytes;
-import java.util.Collection;
import java.util.Set;
import org.apache.ignite.internal.cluster.management.raft.ClusterStateStorage;
import org.apache.ignite.network.ClusterNode;
@@ -40,8 +39,8 @@ public class LogicalTopologyImpl implements LogicalTopology {
}
@Override
- public Collection<ClusterNode> getLogicalTopology() {
- return readLogicalTopology().nodes();
+ public LogicalTopologySnapshot getLogicalTopology() {
+ return readLogicalTopology();
}
private LogicalTopologySnapshot readLogicalTopology() {
diff --git
a/modules/cluster-management/src/test/java/org/apache/ignite/internal/cluster/management/topology/LogicalTopologyImplTest.java
b/modules/cluster-management/src/test/java/org/apache/ignite/internal/cluster/management/topology/LogicalTopologyImplTest.java
index 5365e55e15..8cd59dcbf3 100644
---
a/modules/cluster-management/src/test/java/org/apache/ignite/internal/cluster/management/topology/LogicalTopologyImplTest.java
+++
b/modules/cluster-management/src/test/java/org/apache/ignite/internal/cluster/management/topology/LogicalTopologyImplTest.java
@@ -70,33 +70,33 @@ class LogicalTopologyImplTest {
*/
@Test
void testLogicalTopology() {
- assertThat(topologyService.getLogicalTopology(), is(empty()));
+ assertThat(topologyService.getLogicalTopology().nodes(), is(empty()));
var node1 = new ClusterNode("foo", "bar", new
NetworkAddress("localhost", 123));
topologyService.putLogicalTopologyNode(node1);
- assertThat(topologyService.getLogicalTopology(), contains(node1));
+ assertThat(topologyService.getLogicalTopology().nodes(),
contains(node1));
var node2 = new ClusterNode("baz", "quux", new
NetworkAddress("localhost", 123));
topologyService.putLogicalTopologyNode(node2);
- assertThat(topologyService.getLogicalTopology(),
containsInAnyOrder(node1, node2));
+ assertThat(topologyService.getLogicalTopology().nodes(),
containsInAnyOrder(node1, node2));
var node3 = new ClusterNode("lol", "boop", new
NetworkAddress("localhost", 123));
topologyService.putLogicalTopologyNode(node3);
- assertThat(topologyService.getLogicalTopology(),
containsInAnyOrder(node1, node2, node3));
+ assertThat(topologyService.getLogicalTopology().nodes(),
containsInAnyOrder(node1, node2, node3));
topologyService.removeLogicalTopologyNodes(Set.of(node1, node2));
- assertThat(topologyService.getLogicalTopology(), contains(node3));
+ assertThat(topologyService.getLogicalTopology().nodes(),
contains(node3));
topologyService.removeLogicalTopologyNodes(Set.of(node3));
- assertThat(topologyService.getLogicalTopology(), is(empty()));
+ assertThat(topologyService.getLogicalTopology().nodes(), is(empty()));
}
/**
@@ -109,12 +109,12 @@ class LogicalTopologyImplTest {
topologyService.putLogicalTopologyNode(node);
topologyService.putLogicalTopologyNode(node);
- assertThat(topologyService.getLogicalTopology(), contains(node));
+ assertThat(topologyService.getLogicalTopology().nodes(),
contains(node));
topologyService.removeLogicalTopologyNodes(Set.of(node));
topologyService.removeLogicalTopologyNodes(Set.of(node));
- assertThat(topologyService.getLogicalTopology(), is(empty()));
+ assertThat(topologyService.getLogicalTopology().nodes(), is(empty()));
}
@Test
@@ -123,7 +123,7 @@ class LogicalTopologyImplTest {
topologyService.putLogicalTopologyNode(new ClusterNode("id2", "node",
new NetworkAddress("host", 1000)));
- Collection<ClusterNode> topology =
topologyService.getLogicalTopology();
+ Collection<ClusterNode> topology =
topologyService.getLogicalTopology().nodes();
assertThat(topology, hasSize(1));
@@ -136,12 +136,12 @@ class LogicalTopologyImplTest {
topologyService.removeLogicalTopologyNodes(Set.of(new
ClusterNode("id2", "node", new NetworkAddress("host", 1000))));
- assertThat(topologyService.getLogicalTopology(), hasSize(1));
-
assertThat(topologyService.getLogicalTopology().iterator().next().id(),
is("id1"));
+ assertThat(topologyService.getLogicalTopology().nodes(), hasSize(1));
+
assertThat((topologyService.getLogicalTopology().nodes()).iterator().next().id(),
is("id1"));
topologyService.removeLogicalTopologyNodes(Set.of(new
ClusterNode("id1", "another-name", new NetworkAddress("host", 1000))));
- assertThat(topologyService.getLogicalTopology(), is(empty()));
+ assertThat(topologyService.getLogicalTopology().nodes(), is(empty()));
}
@Test
@@ -165,7 +165,7 @@ class LogicalTopologyImplTest {
storage.restoreSnapshot(snapshotDir);
- List<String> namesInTopology =
topologyService.getLogicalTopology().stream()
+ List<String> namesInTopology =
topologyService.getLogicalTopology().nodes().stream()
.map(ClusterNode::name)
.collect(toList());
assertThat(namesInTopology, contains("node"));