This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git

commit 0356e0afb85f9a1b5132eada9c2ccfea708b4fe2
Merge: 35ce358a9f e1038d4c27
Author: Christopher Tubbs <ctubb...@apache.org>
AuthorDate: Wed Jan 22 15:40:49 2025 -0500

    Merge branch '3.1'

 .../accumulo/core/clientImpl/ClientContext.java    | 69 +++++++++++-----------
 .../accumulo/core/clientImpl/ClientInfo.java       |  2 +-
 .../accumulo/core/clientImpl/ClientInfoImpl.java   |  2 +-
 .../standalone/StandaloneAccumuloCluster.java      |  2 +-
 .../org/apache/accumulo/server/ServerInfo.java     |  2 +-
 .../apache/accumulo/server/MockServerContext.java  |  3 -
 .../accumulo/server/rpc/TServerUtilsTest.java      |  2 -
 .../test/server/security/SystemCredentialsIT.java  |  2 +-
 8 files changed, 40 insertions(+), 44 deletions(-)

diff --cc 
core/src/main/java/org/apache/accumulo/core/clientImpl/ClientContext.java
index e898a1424c,f8bcda1458..82320e5e33
--- a/core/src/main/java/org/apache/accumulo/core/clientImpl/ClientContext.java
+++ b/core/src/main/java/org/apache/accumulo/core/clientImpl/ClientContext.java
@@@ -421,18 -403,18 +419,19 @@@ public class ClientContext implements A
     * @return map of live scan server addresses to lock uuids.
     */
    public Map<String,Pair<UUID,String>> getScanServers() {
+     ensureOpen();
      Map<String,Pair<UUID,String>> liveScanServers = new HashMap<>();
 -    String root = this.getZooKeeperRoot() + Constants.ZSSERVERS;
 -    var addrs = this.getZooCache().getChildren(root);
 -    for (String addr : addrs) {
 +    Set<ServiceLockPath> scanServerPaths =
 +        getServerPaths().getScanServer(rg -> true, AddressSelector.all(), 
true);
 +    for (ServiceLockPath path : scanServerPaths) {
        try {
 -        final var zLockPath = ServiceLock.path(root + "/" + addr);
          ZcStat stat = new ZcStat();
 -        Optional<ServiceLockData> sld = 
ServiceLock.getLockData(getZooCache(), zLockPath, stat);
 +        Optional<ServiceLockData> sld = 
ServiceLock.getLockData(getZooCache(), path, stat);
          if (sld.isPresent()) {
 -          UUID uuid = 
sld.orElseThrow().getServerUUID(ThriftService.TABLET_SCAN);
 -          String group = 
sld.orElseThrow().getGroup(ThriftService.TABLET_SCAN);
 +          final ServiceLockData data = sld.orElseThrow();
 +          final String addr = 
data.getAddressString(ThriftService.TABLET_SCAN);
 +          final UUID uuid = data.getServerUUID(ThriftService.TABLET_SCAN);
 +          final String group = data.getGroup(ThriftService.TABLET_SCAN);
            liveScanServers.put(addr, new Pair<>(uuid, group));
          }
        } catch (IllegalArgumentException e) {
@@@ -1067,11 -1107,8 +1067,12 @@@
      return this.zkLockChecker;
    }
  
 +  public ServiceLockPaths getServerPaths() {
 +    return this.serverPaths.get();
 +  }
 +
    public NamespaceMapping getNamespaces() {
+     ensureOpen();
      return namespaces;
    }
  

Reply via email to