This is an automated email from the ASF dual-hosted git repository. dlmarion pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/main by this push: new 9d4d68b2a3 Changed return variable for ExternalCompactionUtil.getCompactorAddrs (#4419) 9d4d68b2a3 is described below commit 9d4d68b2a373df2c36763a5ed55675a5f8d127a3 Author: Dave Marion <dlmar...@apache.org> AuthorDate: Fri Apr 5 10:55:12 2024 -0400 Changed return variable for ExternalCompactionUtil.getCompactorAddrs (#4419) --- .../apache/accumulo/core/clientImpl/InstanceOperationsImpl.java | 2 +- .../accumulo/core/util/compaction/ExternalCompactionUtil.java | 7 ++++--- .../org/apache/accumulo/coordinator/CompactionCoordinator.java | 8 ++++---- .../src/main/java/org/apache/accumulo/monitor/Monitor.java | 2 +- .../monitor/rest/compactions/external/CoordinatorInfo.java | 4 ++-- .../monitor/rest/compactions/external/ExternalCompactionInfo.java | 8 ++++---- 6 files changed, 16 insertions(+), 15 deletions(-) diff --git a/core/src/main/java/org/apache/accumulo/core/clientImpl/InstanceOperationsImpl.java b/core/src/main/java/org/apache/accumulo/core/clientImpl/InstanceOperationsImpl.java index 74bd2ece59..215f7c6214 100644 --- a/core/src/main/java/org/apache/accumulo/core/clientImpl/InstanceOperationsImpl.java +++ b/core/src/main/java/org/apache/accumulo/core/clientImpl/InstanceOperationsImpl.java @@ -303,7 +303,7 @@ public class InstanceOperationsImpl implements InstanceOperations { public List<ActiveCompaction> getActiveCompactions() throws AccumuloException, AccumuloSecurityException { - Map<String,List<HostAndPort>> compactors = ExternalCompactionUtil.getCompactorAddrs(context); + Map<String,Set<HostAndPort>> compactors = ExternalCompactionUtil.getCompactorAddrs(context); List<String> tservers = getTabletServers(); int numThreads = Math.max(4, Math.min((tservers.size() + compactors.size()) / 10, 256)); diff --git a/core/src/main/java/org/apache/accumulo/core/util/compaction/ExternalCompactionUtil.java b/core/src/main/java/org/apache/accumulo/core/util/compaction/ExternalCompactionUtil.java index 35c358b7ed..0046af7dc6 100644 --- a/core/src/main/java/org/apache/accumulo/core/util/compaction/ExternalCompactionUtil.java +++ b/core/src/main/java/org/apache/accumulo/core/util/compaction/ExternalCompactionUtil.java @@ -25,6 +25,7 @@ import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Optional; +import java.util.Set; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Future; @@ -107,14 +108,14 @@ public class ExternalCompactionUtil { /** * @return map of queue names to compactor addresses */ - public static Map<String,List<HostAndPort>> getCompactorAddrs(ClientContext context) { + public static Map<String,Set<HostAndPort>> getCompactorAddrs(ClientContext context) { try { - final Map<String,List<HostAndPort>> queuesAndAddresses = new HashMap<>(); + final Map<String,Set<HostAndPort>> queuesAndAddresses = new HashMap<>(); final String compactorQueuesPath = context.getZooKeeperRoot() + Constants.ZCOMPACTORS; ZooReader zooReader = context.getZooReader(); List<String> queues = zooReader.getChildren(compactorQueuesPath); for (String queue : queues) { - queuesAndAddresses.putIfAbsent(queue, new ArrayList<>()); + queuesAndAddresses.putIfAbsent(queue, new HashSet<>()); try { List<String> compactors = zooReader.getChildren(compactorQueuesPath + "/" + queue); for (String compactor : compactors) { diff --git a/server/compaction-coordinator/src/main/java/org/apache/accumulo/coordinator/CompactionCoordinator.java b/server/compaction-coordinator/src/main/java/org/apache/accumulo/coordinator/CompactionCoordinator.java index 7358ce4416..c86a93350c 100644 --- a/server/compaction-coordinator/src/main/java/org/apache/accumulo/coordinator/CompactionCoordinator.java +++ b/server/compaction-coordinator/src/main/java/org/apache/accumulo/coordinator/CompactionCoordinator.java @@ -304,7 +304,7 @@ public class CompactionCoordinator extends AbstractServer long now = System.currentTimeMillis(); - Map<String,List<HostAndPort>> idleCompactors = getIdleCompactors(); + Map<String,Set<HostAndPort>> idleCompactors = getIdleCompactors(); TIME_COMPACTOR_LAST_CHECKED.forEach((queue, lastCheckTime) -> { if ((now - lastCheckTime) > getMissingCompactorWarningTime() && QUEUE_SUMMARIES.isCompactionsQueued(queue) && idleCompactors.containsKey(queue)) { @@ -325,16 +325,16 @@ public class CompactionCoordinator extends AbstractServer LOG.info("Shutting down"); } - private Map<String,List<HostAndPort>> getIdleCompactors() { + private Map<String,Set<HostAndPort>> getIdleCompactors() { - Map<String,List<HostAndPort>> allCompactors = + Map<String,Set<HostAndPort>> allCompactors = ExternalCompactionUtil.getCompactorAddrs(getContext()); Set<String> emptyQueues = new HashSet<>(); // Remove all of the compactors that are running a compaction RUNNING_CACHE.values().forEach(rc -> { - List<HostAndPort> busyCompactors = allCompactors.get(rc.getQueueName()); + Set<HostAndPort> busyCompactors = allCompactors.get(rc.getQueueName()); if (busyCompactors != null && busyCompactors.remove(HostAndPort.fromString(rc.getCompactorAddress()))) { if (busyCompactors.isEmpty()) { diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java index 694d6defb4..a93919d61c 100644 --- a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java +++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java @@ -649,7 +649,7 @@ public class Monitor extends AbstractServer implements HighlyAvailableService { } if (System.nanoTime() - ecInfoFetchedNanos > fetchTimeNanos) { log.info("User initiated fetch of External Compaction info"); - Map<String,List<HostAndPort>> compactors = + Map<String,Set<HostAndPort>> compactors = ExternalCompactionUtil.getCompactorAddrs(getContext()); log.debug("Found compactors: " + compactors); ecInfo.setFetchedTimeMillis(System.currentTimeMillis()); diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/compactions/external/CoordinatorInfo.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/compactions/external/CoordinatorInfo.java index 5f015fcd88..8724f758bb 100644 --- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/compactions/external/CoordinatorInfo.java +++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/compactions/external/CoordinatorInfo.java @@ -18,8 +18,8 @@ */ package org.apache.accumulo.monitor.rest.compactions.external; -import java.util.List; import java.util.Optional; +import java.util.Set; import com.google.common.net.HostAndPort; @@ -35,7 +35,7 @@ public class CoordinatorInfo { server = serverOpt.map(HostAndPort::toString).orElse("none"); var queueToCompactors = ecInfo.getCompactors(); numQueues = queueToCompactors.size(); - numCompactors = queueToCompactors.values().stream().mapToInt(List::size).sum(); + numCompactors = queueToCompactors.values().stream().mapToInt(Set::size).sum(); lastContact = System.currentTimeMillis() - ecInfo.getFetchedTimeMillis(); } } diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/compactions/external/ExternalCompactionInfo.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/compactions/external/ExternalCompactionInfo.java index 0d0d467517..251eb16a32 100644 --- a/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/compactions/external/ExternalCompactionInfo.java +++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/rest/compactions/external/ExternalCompactionInfo.java @@ -19,9 +19,9 @@ package org.apache.accumulo.monitor.rest.compactions.external; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Optional; +import java.util.Set; import com.google.common.net.HostAndPort; @@ -31,7 +31,7 @@ import com.google.common.net.HostAndPort; public class ExternalCompactionInfo { private Optional<HostAndPort> coordinatorHost; - private Map<String,List<HostAndPort>> compactors = new HashMap<>(); + private Map<String,Set<HostAndPort>> compactors = new HashMap<>(); private long fetchedTimeMillis; public void setCoordinatorHost(Optional<HostAndPort> coordinatorHost) { @@ -42,11 +42,11 @@ public class ExternalCompactionInfo { return coordinatorHost; } - public Map<String,List<HostAndPort>> getCompactors() { + public Map<String,Set<HostAndPort>> getCompactors() { return compactors; } - public void setCompactors(Map<String,List<HostAndPort>> compactors) { + public void setCompactors(Map<String,Set<HostAndPort>> compactors) { this.compactors = compactors; }