summaryrefslogtreecommitdiffstats
path: root/clustercontroller-core
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-03-11 15:53:02 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2021-03-11 15:53:02 +0100
commit07accb9f7c8860089b3286d3e286f6ea0f3094ab (patch)
tree40a616882edc98818d823a33bb9360f0b0269be5 /clustercontroller-core
parent0ea817a6c5490f7251f89c0e743d20270925c469 (diff)
GC use of NodeState.getDiskCount and NodeState.getDiskStates.
Diffstat (limited to 'clustercontroller-core')
-rw-r--r--clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/ClusterControllerStateRestAPI.java19
-rw-r--r--clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/requests/NodeStateRequest.java17
-rw-r--r--clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/requests/ServiceStateRequest.java2
-rw-r--r--clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/NodeTest.java32
-rw-r--r--clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/PartitionTest.java15
5 files changed, 11 insertions, 74 deletions
diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/ClusterControllerStateRestAPI.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/ClusterControllerStateRestAPI.java
index cb138f4025b..169684aa742 100644
--- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/ClusterControllerStateRestAPI.java
+++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/ClusterControllerStateRestAPI.java
@@ -68,27 +68,26 @@ public class ClusterControllerStateRestAPI implements StateRestAPI {
log.finest("Got getState() request");
UnitPathResolver<UnitResponse> resolver = new UnitPathResolver<>(fleetControllerResolver.getFleetControllers());
Request<? extends UnitResponse> req = resolver.visit(
- request.getUnitPath(), new UnitPathResolver.Visitor<UnitResponse>()
+ request.getUnitPath(), new UnitPathResolver.Visitor<>()
{
@Override
- public Request<? extends UnitResponse> visitGlobal() throws StateRestApiException {
+ public Request<? extends UnitResponse> visitGlobal() {
return new ClusterListRequest(request.getRecursiveLevels(), fleetControllerResolver);
}
@Override
- public Request<? extends UnitResponse> visitCluster(Id.Cluster id) throws StateRestApiException {
+ public Request<? extends UnitResponse> visitCluster(Id.Cluster id) {
return new ClusterStateRequest(id, request.getRecursiveLevels());
}
@Override
- public Request<? extends UnitResponse> visitService(Id.Service id) throws StateRestApiException {
+ public Request<? extends UnitResponse> visitService(Id.Service id) {
return new ServiceStateRequest(id, request.getRecursiveLevels());
}
@Override
- public Request<? extends UnitResponse> visitNode(Id.Node id) throws StateRestApiException {
- return new NodeStateRequest(id, request.getRecursiveLevels(),
- EnumSet.of(VerboseReport.STATISTICS));
+ public Request<? extends UnitResponse> visitNode(Id.Node id) {
+ return new NodeStateRequest(id);
}
@Override
- public Request<? extends UnitResponse> visitPartition(Id.Partition id) throws StateRestApiException {
+ public Request<? extends UnitResponse> visitPartition(Id.Partition id) {
return new PartitionStateRequest(id, EnumSet.of(VerboseReport.STATISTICS));
}
});
@@ -120,11 +119,11 @@ public class ClusterControllerStateRestAPI implements StateRestAPI {
"State can only be set at cluster or node level")
{
@Override
- public Request<? extends SetResponse> visitCluster(Id.Cluster id) throws StateRestApiException {
+ public Request<? extends SetResponse> visitCluster(Id.Cluster id) {
return new SetNodeStatesForClusterRequest(id, request);
}
@Override
- public Request<? extends SetResponse> visitNode(Id.Node id) throws StateRestApiException {
+ public Request<? extends SetResponse> visitNode(Id.Node id) {
return new SetNodeStateRequest(id, request);
}
});
diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/requests/NodeStateRequest.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/requests/NodeStateRequest.java
index 7f1bfd20124..e007e2cc243 100644
--- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/requests/NodeStateRequest.java
+++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/requests/NodeStateRequest.java
@@ -9,18 +9,12 @@ import com.yahoo.vespa.clustercontroller.core.restapiv2.Response;
import com.yahoo.vespa.clustercontroller.utils.staterestapi.errors.MissingResourceException;
import com.yahoo.vespa.clustercontroller.utils.staterestapi.errors.StateRestApiException;
-import java.util.Set;
-
public class NodeStateRequest extends Request<Response.NodeResponse> {
private final Id.Node id;
- private final int recursive;
- private final Set<VerboseReport> verboseReports;
- public NodeStateRequest(Id.Node id, int recursive, Set<VerboseReport> verboseReports) {
+ public NodeStateRequest(Id.Node id) {
super(MasterState.MUST_BE_MASTER);
this.id = id;
- this.recursive = recursive;
- this.verboseReports = verboseReports;
}
@Override
@@ -39,15 +33,6 @@ public class NodeStateRequest extends Request<Response.NodeResponse> {
result.addState("unit", new Response.UnitStateImpl(info.getReportedState()));
result.addState("user", new Response.UnitStateImpl(info.getWantedState()));
- for (int i=0; i<info.getReportedState().getDiskCount(); ++i) {
- Id.Partition partitionId = new Id.Partition(id, i);
- if (recursive > 0) {
- PartitionStateRequest psr = new PartitionStateRequest(partitionId, verboseReports);
- result.addEntry("partition", String.valueOf(i), psr.calculateResult(context));
- } else {
- result.addLink("partition", String.valueOf(i), partitionId.toString());
- }
- }
return result;
}
}
diff --git a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/requests/ServiceStateRequest.java b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/requests/ServiceStateRequest.java
index 9b07d30e9e3..9dd5ed7b071 100644
--- a/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/requests/ServiceStateRequest.java
+++ b/clustercontroller-core/src/main/java/com/yahoo/vespa/clustercontroller/core/restapiv2/requests/ServiceStateRequest.java
@@ -26,7 +26,7 @@ public class ServiceStateRequest extends Request<Response.ServiceResponse> {
Id.Node nodeId = new Id.Node(id, i);
if (recursive > 0) {
// Don't include per-node statistics when aggregating over all nodes
- NodeStateRequest nsr = new NodeStateRequest(nodeId, recursive - 1, EnumSet.noneOf(VerboseReport.class));
+ NodeStateRequest nsr = new NodeStateRequest(nodeId);
result.addEntry("node", String.valueOf(i), nsr.calculateResult(context));
} else {
result.addLink("node", String.valueOf(i), nodeId.toString());
diff --git a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/NodeTest.java b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/NodeTest.java
index 8e5fa9c0002..67ae7911f80 100644
--- a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/NodeTest.java
+++ b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/NodeTest.java
@@ -59,10 +59,6 @@ public class NodeTest extends StateRestApiTest {
" \"state\": \"up\",\n" +
" \"reason\": \"\"\n" +
" }\n" +
- " },\n" +
- " \"partition\": {\n" +
- " \"0\": {\"link\": \"\\/cluster\\/v2\\/music\\/storage\\/1\\/0\"},\n" +
- " \"1\": {\"link\": \"\\/cluster\\/v2\\/music\\/storage\\/1\\/1\"}\n" +
" }\n" +
"}";
assertEquals(expected, jsonWriter.createJson(response).toString(2));
@@ -88,30 +84,6 @@ public class NodeTest extends StateRestApiTest {
" \"state\": \"up\",\n" +
" \"reason\": \"\"\n" +
" }\n" +
- " },\n" +
- " \"partition\": {\n" +
- " \"0\": {\n" +
- " \"state\": {\"generated\": {\n" +
- " \"state\": \"up\",\n" +
- " \"reason\": \"\"\n" +
- " }},\n" +
- " \"metrics\": {\n" +
- " \"bucket-count\": 1,\n" +
- " \"unique-document-count\": 2,\n" +
- " \"unique-document-total-size\": 3\n" +
- " }\n" +
- " },\n" +
- " \"1\": {\n" +
- " \"state\": {\"generated\": {\n" +
- " \"state\": \"up\",\n" +
- " \"reason\": \"\"\n" +
- " }},\n" +
- " \"metrics\": {\n" +
- " \"bucket-count\": 1,\n" +
- " \"unique-document-count\": 2,\n" +
- " \"unique-document-total-size\": 3\n" +
- " }\n" +
- " }\n" +
" }\n" +
"}";
assertEquals(expected, jsonWriter.createJson(response).toString(2));
@@ -167,10 +139,6 @@ public class NodeTest extends StateRestApiTest {
" \"state\": \"up\",\n" +
" \"reason\": \"\"\n" +
" }\n" +
- " },\n" +
- " \"partition\": {\n" +
- " \"0\": {\"link\": \"\\/cluster\\/v2\\/music\\/storage\\/1\\/0\"},\n" +
- " \"1\": {\"link\": \"\\/cluster\\/v2\\/music\\/storage\\/1\\/1\"}\n" +
" }\n" +
"}";
JSONObject json = jsonWriter.createJson(response);
diff --git a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/PartitionTest.java b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/PartitionTest.java
index 2b86b60a0dd..106803ec3f1 100644
--- a/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/PartitionTest.java
+++ b/clustercontroller-core/src/test/java/com/yahoo/vespa/clustercontroller/core/restapiv2/PartitionTest.java
@@ -46,19 +46,4 @@ public class PartitionTest extends StateRestApiTest {
"}";
assertEquals(expected, jsonWriter.createJson(response).toString(2));
}
-
- @Test
- public void testRecursiveStorageClusterDoesNotIncludePartitionMetrics() throws Exception {
- setUp(true);
- UnitResponse response = restAPI.getState(new StateRequest("music/storage", 2));
- String expected =
- "{\"state\": {\"generated\": {\n" +
- " \"state\": \"up\",\n" +
- " \"reason\": \"\"\n" +
- "}}}";
- JSONObject json = jsonWriter.createJson(response);
- assertEquals(expected, json.getJSONObject("node").getJSONObject("1").
- getJSONObject("partition").getJSONObject("0").
- toString(2));
- }
}