From 97f818a7954269d8eb80351273c76d1ae684e900 Mon Sep 17 00:00:00 2001 From: Harald Musum Date: Fri, 26 May 2023 10:39:23 +0200 Subject: Remove RPC method only used in tests --- .../clustercontroller/core/rpc/RpcServer.java | 25 +----------- .../clustercontroller/core/RpcServerTest.java | 45 +--------------------- 2 files changed, 3 insertions(+), 67 deletions(-) (limited to 'clustercontroller-core/src') diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RpcServer.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RpcServer.java index 9358ae0d298..f1ff52816a3 100644 --- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RpcServer.java +++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/rpc/RpcServer.java @@ -8,7 +8,6 @@ import com.yahoo.jrt.ListenFailedException; import com.yahoo.jrt.Method; import com.yahoo.jrt.Request; import com.yahoo.jrt.Spec; -import com.yahoo.jrt.StringArray; import com.yahoo.jrt.StringValue; import com.yahoo.jrt.Supervisor; import com.yahoo.jrt.Transport; @@ -24,9 +23,9 @@ import com.yahoo.vespa.clustercontroller.core.ContentCluster; import com.yahoo.vespa.clustercontroller.core.MasterElectionHandler; import com.yahoo.vespa.clustercontroller.core.NodeInfo; import com.yahoo.vespa.clustercontroller.core.listeners.NodeListener; + import java.io.PrintWriter; import java.io.StringWriter; -import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.LinkedList; @@ -128,12 +127,6 @@ public class RpcServer { m.returnDesc(1, "description", "A textual field, used for additional information, such as why there is no master."); supervisor.addMethod(m); - m = new Method("getNodeList", "", "SS", this::queueRpcRequest); - m.methodDesc("Get list of connection-specs to all nodes in the system"); - m.returnDesc(0, "distributors", "connection-spec of all distributor-nodes (empty string for unknown nodes)"); - m.returnDesc(1, "storagenodes", "connection-spec of all storage-nodes, (empty string for unknown nodes)"); - supervisor.addMethod(m); - m = new Method("getSystemState", "", "ss", this::queueRpcRequest); m.methodDesc("Get nodeState of all nodes and the system itself"); m.returnDesc(0, "systemstate", "nodeState string of system"); @@ -194,21 +187,7 @@ public class RpcServer { if (!masterHandler.isMaster()) { throw new IllegalStateException("Refusing to answer RPC calls as we are not the master fleetcontroller."); } - if (req.methodName().equals("getNodeList")) { - log.log(Level.FINE, "Resolving RPC getNodeList request"); - List slobrok = new ArrayList<>(); - List rpc = new ArrayList<>(); - for(NodeInfo node : cluster.getNodeInfos()) { - String s1 = node.getSlobrokAddress(); - String s2 = node.getRpcAddress(); - assert(s1 != null); - slobrok.add(s1); - rpc.add(s2 == null ? "" : s2); - } - req.returnValues().add(new StringArray(slobrok.toArray(new String[0]))); - req.returnValues().add(new StringArray(rpc.toArray(new String[0]))); - req.returnRequest(); - } else if (req.methodName().equals("getSystemState")) { + if (req.methodName().equals("getSystemState")) { log.log(Level.FINE, "Resolving RPC getSystemState request"); req.returnValues().add(new StringValue("")); req.returnValues().add(new StringValue(systemState.toString(true))); diff --git a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/RpcServerTest.java b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/RpcServerTest.java index cc9c3f84de3..02e3a4a4125 100644 --- a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/RpcServerTest.java +++ b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/RpcServerTest.java @@ -23,6 +23,7 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; + import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -33,7 +34,6 @@ import java.util.stream.Collectors; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertNotEquals; import static org.junit.jupiter.api.Assertions.assertTrue; /** @@ -492,49 +492,6 @@ public class RpcServerTest extends FleetControllerTest { // Note that this feature is tested better in MasterElectionTest.testGetMaster as it has multiple fleetcontrollers } - @Test - void testGetNodeList() throws Exception { - setUpFleetController(timer, defaultOptions(5)); - final int nodeCount = 5; - setUpVdsNodes(timer, false, nodeCount); - waitForStableSystem(); - - assertTrue(nodes.get(0).isDistributor()); - nodes.get(0).disconnect(); - waitForState("version:\\d+ distributor:5 .0.s:d storage:5"); - - int rpcPort = fleetController().getRpcPort(); - Target connection = supervisor.connect(new Spec("localhost", rpcPort)); - assertTrue(connection.isValid()); - - Request req = new Request("getNodeList"); - connection.invokeSync(req, timeout()); - assertEquals(ErrorCode.NONE, req.errorCode(), req.errorMessage()); - assertTrue(req.checkReturnTypes("SS"), req.toString()); - String[] slobrok = req.returnValues().get(0).asStringArray().clone(); - String[] rpc = req.returnValues().get(1).asStringArray().clone(); - - assertEquals(2 * nodeCount, slobrok.length); - assertEquals(2 * nodeCount, rpc.length); - - // Verify that we can connect to all addresses returned. - for (int i = 0; i < 2 * nodeCount; ++i) { - if (slobrok[i].equals("storage/cluster.mycluster/distributor/0")) { - if (i < nodeCount && !"".equals(rpc[i])) { - continue; - } - assertEquals("", rpc[i], slobrok[i]); - continue; - } - assertNotEquals("", rpc[i]); - Request req2 = new Request("getnodestate3"); - req2.parameters().add(new StringValue("unknown")); - Target connection2 = supervisor.connect(new Spec(rpc[i])); - connection2.invokeSync(req2, timeout()); - assertEquals(ErrorCode.NONE, req.errorCode(), req2.toString()); - } - } - private Request setNodeState(String node, NodeState newNodeState, Target connection) { return setNodeState(node, newNodeState.serialize(true), connection); } -- cgit v1.2.3