This is an automated email from the ASF dual-hosted git repository.
ddanielr pushed a commit to branch 2.1
in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/2.1 by this push:
new 53925f577e adds group summary information to reports. (#5779)
53925f577e is described below
commit 53925f577e5a91c37862672137621de34156cc51
Author: Daniel Roberts <[email protected]>
AuthorDate: Thu Aug 7 13:29:14 2025 -0400
adds group summary information to reports. (#5779)
* Adds group summary info to print and json reports
Adds the group summaries to the json object and the printed report for
more accurate system status reports.
Also ensures the --showHosts flag works on the json object and printed
report.
* Removes csv output option
Removes the csv output option as the output format is difficult to
maintain and is not structured in a descriptive way.
---
.../org/apache/accumulo/server/util/Admin.java | 10 +--
.../accumulo/server/util/ServiceStatusCmd.java | 35 +++++++----
.../util/serviceStatus/ServiceStatusReport.java | 72 +++++++---------------
.../server/util/serviceStatus/StatusSummary.java | 32 +++-------
.../accumulo/server/util/ServiceStatusCmdTest.java | 11 ++--
.../serviceStatus/ServiceStatusReportTest.java | 42 ++++++++++---
6 files changed, 90 insertions(+), 112 deletions(-)
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/util/Admin.java
b/server/base/src/main/java/org/apache/accumulo/server/util/Admin.java
index 69c4ca4a7f..05de2b2cd5 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/util/Admin.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/util/Admin.java
@@ -263,16 +263,11 @@ public class Admin implements KeywordExecutable {
@Parameters(commandDescription = "show service status")
public static class ServiceStatusCmdOpts extends SubCommandOpts {
- @Parameter(names = "--json",
- description = "provide output in json format (--showHosts ignored)")
+ @Parameter(names = "--json", description = "provide output in json format")
boolean json = false;
@Parameter(names = "--showHosts",
description = "provide a summary of service counts with host details")
boolean showHosts = false;
-
- @Parameter(names = "--csv",
- description = "provide output in csv format (--json and --noHost
ignored)")
- boolean csv = false;
}
public static void main(String[] args) {
@@ -432,8 +427,7 @@ public class Admin implements KeywordExecutable {
executeFateOpsCommand(context, fateOpsCommand);
} else if (cl.getParsedCommand().equals("serviceStatus")) {
ServiceStatusCmd ssc = new ServiceStatusCmd();
- ssc.execute(context, serviceStatusCommandOpts.json,
serviceStatusCommandOpts.showHosts,
- serviceStatusCommandOpts.csv);
+ ssc.execute(context, serviceStatusCommandOpts.json,
serviceStatusCommandOpts.showHosts);
} else if (cl.getParsedCommand().equals("stopManager")
|| cl.getParsedCommand().equals("stopAll")) {
boolean everything = cl.getParsedCommand().equals("stopAll");
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/util/ServiceStatusCmd.java
b/server/base/src/main/java/org/apache/accumulo/server/util/ServiceStatusCmd.java
index dc8a47715b..1f5e9fb856 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/util/ServiceStatusCmd.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/util/ServiceStatusCmd.java
@@ -21,6 +21,7 @@ package org.apache.accumulo.server.util;
import static java.nio.charset.StandardCharsets.UTF_8;
import java.util.Collection;
+import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
@@ -54,8 +55,7 @@ public class ServiceStatusCmd {
* Read the service statuses from ZooKeeper, build the status report and
then output the report to
* stdout.
*/
- public void execute(final ServerContext context, final boolean json, final
boolean showHosts,
- final boolean csv) {
+ public void execute(final ServerContext context, final boolean json, final
boolean showHosts) {
ZooReader zooReader = context.getZooReader();
@@ -75,9 +75,7 @@ public class ServiceStatusCmd {
ServiceStatusReport report = new ServiceStatusReport(services, showHosts);
- if (csv) {
- System.out.println(report.toCsv());
- } else if (json) {
+ if (json) {
System.out.println(report.toJson());
} else {
StringBuilder sb = new StringBuilder(8192);
@@ -134,8 +132,6 @@ public class ServiceStatusCmd {
ServiceStatusReport.ReportKey displayNames) {
AtomicInteger errorSum = new AtomicInteger(0);
- // Set<String> hostNames = new TreeSet<>();
- Set<String> groupNames = new TreeSet<>();
Map<String,Set<String>> hostsByGroups = new TreeMap<>();
var nodeNames = readNodeNames(zooReader, basePath);
@@ -152,7 +148,6 @@ public class ServiceStatusCmd {
String[] tokens = nodeData.getHosts().split(",");
if (tokens.length == 2) {
String groupName = tokens[1];
- groupNames.add(groupName);
hostsByGroups.computeIfAbsent(groupName, s -> new
TreeSet<>()).add(host);
} else {
hostsByGroups.computeIfAbsent(NO_GROUP_TAG, s -> new
TreeSet<>()).add(host);
@@ -162,7 +157,18 @@ public class ServiceStatusCmd {
});
errorSum.addAndGet(lock.getFirst());
});
- return new StatusSummary(displayNames, groupNames, hostsByGroups,
errorSum.get());
+
+ AtomicInteger hostTotal = new AtomicInteger();
+ Map<String,Integer> groupSummary = new HashMap<>();
+ hostsByGroups.forEach((group, host) -> {
+ hostTotal.set(hostTotal.get() + host.size());
+ if (!group.equals(NO_GROUP_TAG)) {
+ groupSummary.put(group, host.size());
+ }
+ });
+
+ return new StatusSummary(displayNames, groupSummary, hostsByGroups,
hostTotal.get(),
+ errorSum.get());
}
/**
@@ -181,7 +187,7 @@ public class ServiceStatusCmd {
hostByGroup.put(NO_GROUP_TAG, hosts);
return new StatusSummary(temp.getServiceType(), temp.getResourceGroups(),
hostByGroup,
- temp.getErrorCount());
+ hosts.size(), temp.getErrorCount());
}
@@ -231,7 +237,8 @@ public class ServiceStatusCmd {
var result = readAllNodesData(zooReader, lockPath);
Map<String,Set<String>> byGroup = new TreeMap<>();
byGroup.put(NO_GROUP_TAG, result.getHosts());
- return new StatusSummary(displayNames, Set.of(), byGroup,
result.getErrorCount());
+ return new StatusSummary(displayNames, Map.of(), byGroup,
result.getHosts().size(),
+ result.getErrorCount());
}
/**
@@ -255,9 +262,11 @@ public class ServiceStatusCmd {
hostsByGroups.computeIfAbsent(group, set -> new TreeSet<>()).add(host);
});
});
+ Map<String,Integer> groupSummary = new HashMap<>();
+ hostsByGroups.forEach((group, hosts) -> groupSummary.put(group,
hosts.size()));
- return new StatusSummary(ServiceStatusReport.ReportKey.COMPACTOR, queues,
hostsByGroups,
- errors.get());
+ return new StatusSummary(ServiceStatusReport.ReportKey.COMPACTOR,
groupSummary, hostsByGroups,
+ groupSummary.values().stream().reduce(Integer::sum).orElse(0),
errors.get());
}
/**
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/util/serviceStatus/ServiceStatusReport.java
b/server/base/src/main/java/org/apache/accumulo/server/util/serviceStatus/ServiceStatusReport.java
index 7ae71a0cbb..c51d02dc99 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/util/serviceStatus/ServiceStatusReport.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/util/serviceStatus/ServiceStatusReport.java
@@ -22,7 +22,6 @@ import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Map;
-import java.util.Set;
import java.util.TreeMap;
import java.util.stream.Collectors;
@@ -73,45 +72,21 @@ public class ServiceStatusReport {
}
public String toJson() {
- // return gson.toJson(this, ServiceStatusReport.class);
-
- Map<ReportKey,StatusSummary> noHostSummaries =
summaries.entrySet().stream().collect(Collectors
- .toMap(Map.Entry::getKey, e -> e.getValue().withoutHosts(), (a, b) ->
b, TreeMap::new));
- ServiceStatusReport noHostReport = new
ServiceStatusReport(noHostSummaries, false);
- return gson.toJson(noHostReport, ServiceStatusReport.class);
+ if (showHosts) {
+ return gson.toJson(this, ServiceStatusReport.class);
+ } else {
+ Map<ReportKey,StatusSummary> noHostSummaries =
+
summaries.entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey,
+ e -> e.getValue().withoutHosts(), (a, b) -> b, TreeMap::new));
+ ServiceStatusReport noHostReport = new
ServiceStatusReport(noHostSummaries, false);
+ return gson.toJson(noHostReport, ServiceStatusReport.class);
+ }
}
public static ServiceStatusReport fromJson(final String json) {
return gson.fromJson(json, ServiceStatusReport.class);
}
- public String toCsv() {
- StringBuilder sb = new StringBuilder();
- sb.append("Service,Resource Group,Host Count,Hosts,Error Count\n");
-
- for (Map.Entry<ReportKey,StatusSummary> entry : summaries.entrySet()) {
- ReportKey reportKey = entry.getKey();
- StatusSummary summary = entry.getValue();
-
- if (summary == null || summary.getServiceByGroups() == null) {
- continue;
- }
-
- Map<String,Set<String>> groupMap = summary.getServiceByGroups();
- int errorCount = summary.getErrorCount();
-
- for (Map.Entry<String,Set<String>> groupEntry : groupMap.entrySet()) {
- String group = groupEntry.getKey();
- Set<String> hosts = groupEntry.getValue();
- String hostList = String.join(";", hosts);
-
sb.append(reportKey.name()).append(",").append(group).append(",").append(hosts.size())
-
.append(",").append(hostList).append(",").append(errorCount).append("\n");
- }
- }
-
- return sb.toString();
- }
-
public String report(final StringBuilder sb) {
sb.append("Report time:
").append(rptTimeFmt.format(ZonedDateTime.now(ZoneId.of("UTC"))))
.append("\n");
@@ -170,25 +145,22 @@ public class ServiceStatusReport {
fmtCounts(sb, summary);
- // skip host info if NOT showing hosts
- if (!showHosts) {
- return;
+ // add summary info only when not displaying the hosts
+ if (!summary.getResourceGroups().isEmpty() && !showHosts) {
+ sb.append(I2).append("resource groups:\n");
+ summary.getResourceGroups().forEach(
+ (group, size) -> sb.append(I4).append(group).append(":
").append(size).append("\n"));
}
- if (!summary.getResourceGroups().isEmpty()) {
- sb.append(I2).append("resource groups:\n");
- summary.getResourceGroups().forEach(g ->
sb.append(I4).append(g).append("\n"));
-
- if (summary.getServiceCount() > 0) {
- sb.append(I2).append("hosts (by group):\n");
- var groups = summary.getServiceByGroups();
- groups.forEach((g, h) -> {
- sb.append(I4).append(g).append("
(").append(h.size()).append(")").append(":\n");
- h.forEach(n -> {
- sb.append(I6).append(n).append("\n");
- });
+ if (summary.getServiceCount() > 0 && showHosts) {
+ var groups = summary.getServiceByGroups();
+ sb.append(I2).append("hosts (by group):\n");
+ groups.forEach((g, h) -> {
+ sb.append(I4).append(g).append("
(").append(h.size()).append(")").append(":\n");
+ h.forEach(n -> {
+ sb.append(I6).append(n).append("\n");
});
- }
+ });
}
}
diff --git
a/server/base/src/main/java/org/apache/accumulo/server/util/serviceStatus/StatusSummary.java
b/server/base/src/main/java/org/apache/accumulo/server/util/serviceStatus/StatusSummary.java
index 3b7227c003..67a668d37e 100644
---
a/server/base/src/main/java/org/apache/accumulo/server/util/serviceStatus/StatusSummary.java
+++
b/server/base/src/main/java/org/apache/accumulo/server/util/serviceStatus/StatusSummary.java
@@ -18,27 +18,25 @@
*/
package org.apache.accumulo.server.util.serviceStatus;
-import java.util.HashSet;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
-import java.util.TreeMap;
public class StatusSummary {
private final ServiceStatusReport.ReportKey serviceType;
- private final Set<String> resourceGroups;
+ private final Map<String,Integer> resourceGroups;
private final Map<String,Set<String>> serviceByGroups;
private final int serviceCount;
private final int errorCount;
- public StatusSummary(ServiceStatusReport.ReportKey serviceType, final
Set<String> resourceGroups,
- final Map<String,Set<String>> serviceByGroups, final int errorCount) {
+ public StatusSummary(ServiceStatusReport.ReportKey serviceType,
+ final Map<String,Integer> resourceGroups, final Map<String,Set<String>>
serviceByGroups,
+ final int serviceCount, final int errorCount) {
this.serviceType = serviceType;
this.resourceGroups = resourceGroups;
this.serviceByGroups = serviceByGroups;
- this.serviceCount =
-
serviceByGroups.values().stream().map(Set::size).reduce(Integer::sum).orElse(0);
+ this.serviceCount = serviceCount;
this.errorCount = errorCount;
}
@@ -50,7 +48,7 @@ public class StatusSummary {
return serviceType.getDisplayName();
}
- public Set<String> getResourceGroups() {
+ public Map<String,Integer> getResourceGroups() {
return resourceGroups;
}
@@ -67,23 +65,7 @@ public class StatusSummary {
}
public StatusSummary withoutHosts() {
- Map<String,Set<String>> tmpHosts = new TreeMap<>();
-
- for (Map.Entry<String,Set<String>> entry :
this.serviceByGroups.entrySet()) {
-
- String group = entry.getKey();
- int size = entry.getValue().size();
- ;
-
- Set<String> hosts = new HashSet<>();
- for (int i = 0; i < size; i++) {
- hosts.add("");
- }
-
- tmpHosts.put(group, hosts);
- }
-
- return new StatusSummary(this.serviceType, this.resourceGroups, tmpHosts,
this.errorCount);
+ return new StatusSummary(serviceType, resourceGroups, Map.of(),
serviceCount, errorCount);
}
@Override
diff --git
a/server/base/src/test/java/org/apache/accumulo/server/util/ServiceStatusCmdTest.java
b/server/base/src/test/java/org/apache/accumulo/server/util/ServiceStatusCmdTest.java
index 2b9027725a..7d3efe68b7 100644
---
a/server/base/src/test/java/org/apache/accumulo/server/util/ServiceStatusCmdTest.java
+++
b/server/base/src/test/java/org/apache/accumulo/server/util/ServiceStatusCmdTest.java
@@ -111,7 +111,7 @@ public class ServiceStatusCmdTest {
hostByGroup.put(NO_GROUP_TAG, hosts);
StatusSummary expected =
- new StatusSummary(ServiceStatusReport.ReportKey.MANAGER, Set.of(),
hostByGroup, 0);
+ new StatusSummary(ServiceStatusReport.ReportKey.MANAGER, Map.of(),
hostByGroup, 3, 0);
assertEquals(expected.hashCode(), status.hashCode());
assertEquals(expected.getDisplayName(), status.getDisplayName());
@@ -150,7 +150,7 @@ public class ServiceStatusCmdTest {
hostByGroup.put(NO_GROUP_TAG, new TreeSet<>(List.of(host1, host2)));
StatusSummary expected =
- new StatusSummary(ServiceStatusReport.ReportKey.MONITOR, Set.of(),
hostByGroup, 0);
+ new StatusSummary(ServiceStatusReport.ReportKey.MONITOR, Map.of(),
hostByGroup, 2, 0);
assertEquals(expected.hashCode(), status.hashCode());
assertEquals(expected.getDisplayName(), status.getDisplayName());
@@ -199,7 +199,7 @@ public class ServiceStatusCmdTest {
hostByGroup.put(NO_GROUP_TAG, new TreeSet<>(List.of(host1, host2, host3)));
StatusSummary expected =
- new StatusSummary(ServiceStatusReport.ReportKey.T_SERVER, Set.of(),
hostByGroup, 0);
+ new StatusSummary(ServiceStatusReport.ReportKey.T_SERVER, Map.of(),
hostByGroup, 3, 0);
assertEquals(expected.hashCode(), status.hashCode());
assertEquals(expected.getDisplayName(), status.getDisplayName());
@@ -258,7 +258,7 @@ public class ServiceStatusCmdTest {
hostByGroup.put("rg1", new TreeSet<>(List.of("host1:8080", "host3:9091")));
StatusSummary expected = new
StatusSummary(ServiceStatusReport.ReportKey.S_SERVER,
- Set.of("default", "rg1"), hostByGroup, 0);
+ Map.of("default", 2, "rg1", 2), hostByGroup, 4, 0);
assertEquals(expected, status);
@@ -298,7 +298,7 @@ public class ServiceStatusCmdTest {
hostByGroup.put(NO_GROUP_TAG, hosts);
StatusSummary expected =
- new StatusSummary(ServiceStatusReport.ReportKey.COORDINATOR, Set.of(),
hostByGroup, 0);
+ new StatusSummary(ServiceStatusReport.ReportKey.COORDINATOR, Map.of(),
hostByGroup, 3, 0);
assertEquals(expected.hashCode(), status.hashCode());
assertEquals(expected.getDisplayName(), status.getDisplayName());
@@ -401,7 +401,6 @@ public class ServiceStatusCmdTest {
Admin.ServiceStatusCmdOpts opts = new Admin.ServiceStatusCmdOpts();
assertFalse(opts.json);
assertFalse(opts.showHosts);
- assertFalse(opts.csv);
}
}
diff --git
a/server/base/src/test/java/org/apache/accumulo/server/util/serviceStatus/ServiceStatusReportTest.java
b/server/base/src/test/java/org/apache/accumulo/server/util/serviceStatus/ServiceStatusReportTest.java
index b90e2c8378..101d173e47 100644
---
a/server/base/src/test/java/org/apache/accumulo/server/util/serviceStatus/ServiceStatusReportTest.java
+++
b/server/base/src/test/java/org/apache/accumulo/server/util/serviceStatus/ServiceStatusReportTest.java
@@ -19,6 +19,7 @@
package org.apache.accumulo.server.util.serviceStatus;
import static org.apache.accumulo.server.util.ServiceStatusCmd.NO_GROUP_TAG;
+import static
org.apache.accumulo.server.util.serviceStatus.ServiceStatusReport.ReportKey.COMPACTOR;
import static
org.apache.accumulo.server.util.serviceStatus.ServiceStatusReport.ReportKey.MANAGER;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
@@ -37,7 +38,7 @@ import org.slf4j.LoggerFactory;
public class ServiceStatusReportTest {
- private static final Logger LOG =
LoggerFactory.getLogger(ServiceStatusReport.class);
+ private static final Logger LOG =
LoggerFactory.getLogger(ServiceStatusReportTest.class);
@Test
public void printOutputCountTest() {
@@ -50,7 +51,7 @@ public class ServiceStatusReportTest {
}
@Test
- public void printOutputHostTest() {
+ public void printOutputNoHostTest() {
final Map<ServiceStatusReport.ReportKey,StatusSummary> services =
buildHostStatus();
ServiceStatusReport report = new ServiceStatusReport(services, false);
StringBuilder sb = new StringBuilder(8192);
@@ -74,7 +75,7 @@ public class ServiceStatusReportTest {
Map<String,Set<String>> managerByGroup = new TreeMap<>();
managerByGroup.put(NO_GROUP_TAG, new TreeSet<>(List.of("hostZ:8080",
"hostA:9090")));
- StatusSummary managerSummary = new StatusSummary(MANAGER, Set.of(),
managerByGroup, 1);
+ StatusSummary managerSummary = new StatusSummary(MANAGER, Map.of(),
managerByGroup, 2, 1);
services.put(MANAGER, managerSummary);
ServiceStatusReport report = new ServiceStatusReport(services, false);
var encoded = report.toJson();
@@ -88,6 +89,27 @@ public class ServiceStatusReportTest {
assertEquals(new TreeSet<>(List.of("hostZ:8080", "hostA:9090")),
byGroup.get(NO_GROUP_TAG));
}
+ @Test
+ public void jsonCompactorsTest() {
+ final Map<ServiceStatusReport.ReportKey,StatusSummary> services = new
TreeMap<>();
+ Map<String,Set<String>> compactorsByGroup = new TreeMap<>();
+ compactorsByGroup.put("TEST", new TreeSet<>(List.of("hostZ:8080",
"hostA:9090")));
+ StatusSummary compactorSummary =
+ new StatusSummary(COMPACTOR, Map.of("TEST", 2), compactorsByGroup, 2,
1);
+ services.put(COMPACTOR, compactorSummary);
+ ServiceStatusReport report = new ServiceStatusReport(services, false);
+ var encoded = report.toJson();
+
+ ServiceStatusReport decoded = ServiceStatusReport.fromJson(encoded);
+ assertNotNull(decoded.getReportTime());
+ assertEquals(1, decoded.getTotalZkReadErrors());
+ assertEquals(1, report.getSummaries().size());
+ assertEquals(1, decoded.getSummaries().values().size());
+
+ var byGroup = report.getSummaries().get(COMPACTOR).getServiceByGroups();
+ assertEquals(new TreeSet<>(List.of("hostZ:8080", "hostA:9090")),
byGroup.get("TEST"));
+ }
+
/**
* validate reduce / sum is correct
*/
@@ -104,20 +126,20 @@ public class ServiceStatusReportTest {
Map<String,Set<String>> managerByGroup = new TreeMap<>();
managerByGroup.put(NO_GROUP_TAG, new TreeSet<>(List.of("host1:8080",
"host2:9090")));
- StatusSummary managerSummary = new StatusSummary(MANAGER, Set.of(),
managerByGroup, 1);
+ StatusSummary managerSummary = new StatusSummary(MANAGER, Map.of(),
managerByGroup, 2, 1);
services.put(MANAGER, managerSummary);
Map<String,Set<String>> monitorByGroup = new TreeMap<>();
monitorByGroup.put(NO_GROUP_TAG, new TreeSet<>(List.of("host1:8080",
"host2:9090")));
StatusSummary monitorSummary =
- new StatusSummary(ServiceStatusReport.ReportKey.MONITOR, Set.of(),
monitorByGroup, 0);
+ new StatusSummary(ServiceStatusReport.ReportKey.MONITOR, Map.of(),
monitorByGroup, 2, 0);
services.put(ServiceStatusReport.ReportKey.MONITOR, monitorSummary);
Map<String,Set<String>> gcByGroup = new TreeMap<>();
gcByGroup.put(NO_GROUP_TAG, new TreeSet<>(List.of("host1:8080",
"host2:9090")));
StatusSummary gcSummary =
- new StatusSummary(ServiceStatusReport.ReportKey.GC, Set.of(),
gcByGroup, 0);
+ new StatusSummary(ServiceStatusReport.ReportKey.GC, Map.of(),
gcByGroup, 2, 0);
services.put(ServiceStatusReport.ReportKey.GC, gcSummary);
Map<String,Set<String>> tserverByGroup = new TreeMap<>();
@@ -125,7 +147,7 @@ public class ServiceStatusReportTest {
new TreeSet<>(List.of("host2:9090", "host4:9091", "host1:8080",
"host3:9091")));
StatusSummary tserverSummary =
- new StatusSummary(ServiceStatusReport.ReportKey.T_SERVER, Set.of(),
tserverByGroup, 1);
+ new StatusSummary(ServiceStatusReport.ReportKey.T_SERVER, Map.of(),
tserverByGroup, 4, 1);
services.put(ServiceStatusReport.ReportKey.T_SERVER, tserverSummary);
Map<String,Set<String>> sserverByGroup = new TreeMap<>();
@@ -134,13 +156,13 @@ public class ServiceStatusReportTest {
sserverByGroup.put("rg2", new TreeSet<>(List.of("host4:9091")));
StatusSummary scanServerSummary = new
StatusSummary(ServiceStatusReport.ReportKey.S_SERVER,
- new TreeSet<>(List.of("default", "rg1", "rg2")), sserverByGroup, 2);
+ Map.of("default", 1, "rg1", 2, "rg2", 1), sserverByGroup, 4, 2);
services.put(ServiceStatusReport.ReportKey.S_SERVER, scanServerSummary);
Map<String,Set<String>> coordinatorByGroup = new TreeMap<>();
coordinatorByGroup.put(NO_GROUP_TAG, new TreeSet<>(List.of("host4:9090",
"host2:9091")));
StatusSummary coordinatorSummary = new
StatusSummary(ServiceStatusReport.ReportKey.COORDINATOR,
- Set.of(), coordinatorByGroup, 0);
+ Map.of(), coordinatorByGroup, 2, 0);
services.put(ServiceStatusReport.ReportKey.COORDINATOR,
coordinatorSummary);
Map<String,Set<String>> compactorByGroup = new TreeMap<>();
@@ -148,7 +170,7 @@ public class ServiceStatusReportTest {
compactorByGroup.put("q1", new TreeSet<>(List.of("host3:8080",
"host1:9091")));
StatusSummary compactorSummary = new
StatusSummary(ServiceStatusReport.ReportKey.COMPACTOR,
- new TreeSet<>(List.of("q2", "q1")), compactorByGroup, 0);
+ Map.of("q2", 3, "q1", 2), compactorByGroup, 5, 0);
services.put(ServiceStatusReport.ReportKey.COMPACTOR, compactorSummary);
return services;