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

commit 76604d6b45785d0e4ff4ad8d4f0afbb4f4aaff84
Merge: 480c88a2d2 7277daedd3
Author: Dave Marion <[email protected]>
AuthorDate: Wed Feb 4 16:05:23 2026 +0000

    Merge branch '2.1'

 assemble/bin/accumulo-cluster                                         | 4 ++--
 .../tserver/src/main/java/org/apache/accumulo/tserver/ScanServer.java | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --cc 
server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServer.java
index 60e303566f,83f57347b1..3cbe546193
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServer.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/ScanServer.java
@@@ -309,20 -328,35 +309,20 @@@ public class ScanServer extends Abstrac
    }
  
    /**
-    * Set up nodes and locks in ZooKeeper for this Compactor
+    * Set up nodes and locks in ZooKeeper for this ScanServer
     */
    private ServiceLock announceExistence() {
 -    ZooReaderWriter zoo = getContext().getZooReaderWriter();
 +    final ZooReaderWriter zoo = getContext().getZooSession().asReaderWriter();
      try {
  
 -      var zLockPath = ServiceLock.path(
 -          getContext().getZooKeeperRoot() + Constants.ZSSERVERS + "/" + 
getClientAddressString());
 -
 -      try {
 -        // Old zk nodes can be cleaned up by ZooZap
 -        zoo.putPersistentData(zLockPath.toString(), new byte[] {}, 
NodeExistsPolicy.SKIP);
 -      } catch (KeeperException e) {
 -        if (e.code() == KeeperException.Code.NOAUTH) {
 -          LOG.error("Failed to write to ZooKeeper. Ensure that"
 -              + " accumulo.properties, specifically instance.secret, is 
consistent.");
 -        }
 -        throw e;
 -      }
 -
 +      final ServiceLockPath zLockPath =
 +          context.getServerPaths().createScanServerPath(getResourceGroup(), 
getAdvertiseAddress());
 +      ServiceLockSupport.createNonHaServiceLockPath(Type.SCAN_SERVER, zoo, 
zLockPath);
        serverLockUUID = UUID.randomUUID();
 -      scanServerLock = new ServiceLock(zoo.getZooKeeper(), zLockPath, 
serverLockUUID);
 -      LockWatcher lw = new ServiceLockWatcher("scan server", () -> 
getShutdownComplete().get(),
 -          (name) -> gcLogger.logGCInfo(getConfiguration()));
 -
 -      // Don't use the normal ServerServices lock content, instead put the 
server UUID here.
 -      byte[] lockContent = (serverLockUUID.toString() + "," + 
groupName).getBytes(UTF_8);
 +      scanServerLock = new ServiceLock(getContext().getZooSession(), 
zLockPath, serverLockUUID);
 +      LockWatcher lw = new ServiceLockWatcher(Type.SCAN_SERVER, () -> 
getShutdownComplete().get(),
 +          (type) -> 
context.getLowMemoryDetector().logGCInfo(getConfiguration()));
  
 -      // wait for 120 seconds with 5 second delay
        for (int i = 0; i < 120 / 5; i++) {
          zoo.putPersistentData(zLockPath.toString(), new byte[0], 
NodeExistsPolicy.SKIP);
  

Reply via email to