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

adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git


The following commit(s) were added to refs/heads/master by this push:
     new b2fe2a138e HDDS-8721. Improve thread names in OM. (#5407)
b2fe2a138e is described below

commit b2fe2a138ebd5101211c5aaaf14e695399307fb6
Author: Arafat2198 <[email protected]>
AuthorDate: Thu Oct 19 13:03:11 2023 +0530

    HDDS-8721. Improve thread names in OM. (#5407)
---
 .../hadoop/hdds/security/OzoneSecretManager.java   |  2 +-
 .../hadoop/ozone/om/GrpcOzoneManagerServer.java    | 12 ++++++-----
 .../org/apache/hadoop/ozone/om/OzoneManager.java   | 24 ++++++++++++++--------
 .../hadoop/ozone/om/SstFilteringService.java       |  2 +-
 .../apache/hadoop/ozone/om/TrashPolicyOzone.java   | 23 ++++++++++++++-------
 .../ozone/om/ratis/OzoneManagerDoubleBuffer.java   | 18 +++++++++++-----
 .../ozone/om/ratis/OzoneManagerStateMachine.java   | 14 +++++++++----
 .../om/service/AbstractKeyDeletingService.java     |  2 +-
 .../om/service/MultipartUploadCleanupService.java  |  3 ++-
 .../ozone/om/service/OMRangerBGSyncService.java    |  3 ++-
 .../ozone/om/service/OpenKeyCleanupService.java    |  8 +++++---
 .../om/service/SnapshotDiffCleanupService.java     |  2 +-
 .../ozone/om/snapshot/SnapshotDiffManager.java     |  6 ++++--
 .../OzoneDelegationTokenSecretManager.java         |  5 ++++-
 .../ozone/om/TestGrpcOzoneManagerServer.java       |  3 ++-
 15 files changed, 85 insertions(+), 42 deletions(-)

diff --git 
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/security/OzoneSecretManager.java
 
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/security/OzoneSecretManager.java
index c99a13c489..601bdf0ea7 100644
--- 
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/security/OzoneSecretManager.java
+++ 
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/security/OzoneSecretManager.java
@@ -250,7 +250,7 @@ public abstract class OzoneSecretManager<T extends 
TokenIdentifier>
    *
    * @return true if secret mgr is running
    */
-  public synchronized boolean isRunning() {
+  public boolean isRunning() {
     return running;
   }
 
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/GrpcOzoneManagerServer.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/GrpcOzoneManagerServer.java
index c4a29b8010..7753f94a07 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/GrpcOzoneManagerServer.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/GrpcOzoneManagerServer.java
@@ -73,6 +73,7 @@ public class GrpcOzoneManagerServer {
   private Server server;
   private int port;
   private final int maxSize;
+  private final String threadNamePrefix;
 
   private ThreadPoolExecutor readExecutors;
   private EventLoopGroup bossEventLoopGroup;
@@ -83,7 +84,8 @@ public class GrpcOzoneManagerServer {
                                     omTranslator,
                                 OzoneDelegationTokenSecretManager
                                     delegationTokenMgr,
-                                CertificateClient caClient) {
+                                CertificateClient caClient,
+                                String threadPrefix) {
     maxSize = config.getInt(OZONE_OM_GRPC_MAXIMUM_RESPONSE_LENGTH,
         OZONE_OM_GRPC_MAXIMUM_RESPONSE_LENGTH_DEFAULT);
     OptionalInt haPort = HddsUtils.getNumberFromConfigKeys(config,
@@ -99,7 +101,7 @@ public class GrpcOzoneManagerServer {
           GrpcOmTransport.GrpcOmTransportConfig.class).
           getPort();
     }
-
+    this.threadNamePrefix = threadPrefix;
     this.omS3gGrpcMetrics = GrpcMetrics.create(config);
 
     init(omTranslator,
@@ -127,16 +129,16 @@ public class GrpcOzoneManagerServer {
         60, TimeUnit.SECONDS,
         new LinkedBlockingQueue<>(),
         new ThreadFactoryBuilder().setDaemon(true)
-            .setNameFormat("OmRpcReader-%d")
+            .setNameFormat(threadNamePrefix + "OmRpcReader-%d")
             .build());
 
     ThreadFactory bossFactory = new ThreadFactoryBuilder().setDaemon(true)
-        .setNameFormat("OmRpcBoss-ELG-%d")
+        .setNameFormat(threadNamePrefix + "OmRpcBoss-ELG-%d")
         .build();
     bossEventLoopGroup = new NioEventLoopGroup(bossGroupSize, bossFactory);
 
     ThreadFactory workerFactory = new ThreadFactoryBuilder().setDaemon(true)
-        .setNameFormat("OmRpcWorker-ELG-%d")
+        .setNameFormat(threadNamePrefix + "OmRpcWorker-ELG-%d")
         .build();
     workerEventLoopGroup =
         new NioEventLoopGroup(workerGroupSize, workerFactory);
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
index 2a6c0d3535..01364e158a 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
@@ -360,6 +360,7 @@ public final class OzoneManager extends 
ServiceRuntimeInfoImpl
   private GrpcOzoneManagerServer omS3gGrpcServer;
   private final InetSocketAddress omRpcAddress;
   private final String omId;
+  private final String threadPrefix;
   private ServiceInfoProvider serviceInfo;
 
   private OMMetadataManager metadataManager;
@@ -500,7 +501,6 @@ public final class OzoneManager extends 
ServiceRuntimeInfoImpl
     this.isSecurityEnabled = OzoneSecurityUtil.isSecurityEnabled(conf);
     this.peerNodesMap = omhaNodeDetails.getPeerNodesMap();
     this.omNodeDetails = omhaNodeDetails.getLocalNodeDetails();
-
     omStorage = new OMStorage(conf);
     omStorage.validateOrPersistOmNodeId(omNodeDetails.getNodeId());
     omId = omStorage.getOmId();
@@ -527,7 +527,7 @@ public final class OzoneManager extends 
ServiceRuntimeInfoImpl
           omStorage.getOmId(), omNodeDetails.getRpcAddress(),
           omNodeDetails.getRatisPort());
     }
-
+    this.threadPrefix = omNodeDetails.threadNamePrefix();
     loginOMUserIfSecurityEnabled(conf);
     setInstanceVariablesFromConf();
     this.maxUserVolumeCount = conf.getInt(OZONE_OM_USER_MAX_VOLUME,
@@ -650,7 +650,8 @@ public final class OzoneManager extends 
ServiceRuntimeInfoImpl
 
       SecretKeyProtocol secretKeyProtocol =
           HddsServerUtil.getSecretKeyClientForOm(conf);
-      secretKeyClient = new DefaultSecretKeySignerClient(secretKeyProtocol, 
"");
+      secretKeyClient = new DefaultSecretKeySignerClient(secretKeyProtocol,
+          omNodeDetails.threadNamePrefix());
     }
     serviceInfo = new ServiceInfoProvider(secConfig, this, certClient,
         testSecureOmFlag);
@@ -735,6 +736,11 @@ public final class OzoneManager extends 
ServiceRuntimeInfoImpl
     return S3_AUTH.get();
   }
 
+  /** Returns the ThreadName prefix for the current OM. */
+  public String getThreadNamePrefix() {
+    return threadPrefix;
+  }
+
   /**
    * This method is used to set selected instance variables in this class from
    * the passed in config. This allows these variable to be reset when the OM
@@ -1302,9 +1308,10 @@ public final class OzoneManager extends 
ServiceRuntimeInfoImpl
    */
   private GrpcOzoneManagerServer startGrpcServer(OzoneConfiguration conf) {
     return new GrpcOzoneManagerServer(conf,
-            this.omServerProtocol,
-            this.delegationTokenMgr,
-            this.certClient);
+        this.omServerProtocol,
+        this.delegationTokenMgr,
+        this.certClient,
+        this.threadPrefix);
   }
 
   private static boolean isOzoneSecurityEnabled() {
@@ -2109,7 +2116,7 @@ public final class OzoneManager extends 
ServiceRuntimeInfoImpl
           (PrivilegedExceptionAction<FileSystem>)
               () -> new TrashOzoneFileSystem(i));
       this.emptier = new Thread(new OzoneTrash(fs, conf, this).
-          getEmptier(), "Trash Emptier");
+          getEmptier(), threadPrefix + "TrashEmptier");
       this.emptier.setDaemon(true);
       this.emptier.start();
     }
@@ -3238,7 +3245,8 @@ public final class OzoneManager extends 
ServiceRuntimeInfoImpl
 
     // Trigger Ranger BG Sync
     if (noWait) {
-      final Thread t = new Thread(bgSync::triggerRangerSyncOnce);
+      final Thread t = new Thread(bgSync::triggerRangerSyncOnce,
+          threadPrefix + "RangerSync");
       t.start();
       LOG.info("User '{}' manually triggered Multi-Tenancy Ranger Sync "
           + "in a new thread, tid={}", ugi, t.getId());
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/SstFilteringService.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/SstFilteringService.java
index 0b6b17ea64..16a6ad99f5 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/SstFilteringService.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/SstFilteringService.java
@@ -98,7 +98,7 @@ public class SstFilteringService extends BackgroundService
   public SstFilteringService(long interval, TimeUnit unit, long serviceTimeout,
       OzoneManager ozoneManager, OzoneConfiguration configuration) {
     super("SstFilteringService", interval, unit, SST_FILTERING_CORE_POOL_SIZE,
-        serviceTimeout);
+        serviceTimeout, ozoneManager.getThreadNamePrefix());
     this.ozoneManager = ozoneManager;
     this.snapshotLimitPerTask = configuration
         .getLong(SNAPSHOT_SST_DELETING_LIMIT_PER_TASK,
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/TrashPolicyOzone.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/TrashPolicyOzone.java
index cb5e36dd62..94c08ac651 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/TrashPolicyOzone.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/TrashPolicyOzone.java
@@ -28,6 +28,7 @@ import java.util.concurrent.ArrayBlockingQueue;
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileStatus;
 import org.apache.hadoop.fs.FileSystem;
@@ -118,8 +119,8 @@ public class TrashPolicyOzone extends TrashPolicyDefault {
 
   @Override
   public Runnable getEmptier() throws IOException {
-    return new TrashPolicyOzone.Emptier((OzoneConfiguration)configuration,
-        emptierInterval);
+    return new TrashPolicyOzone.Emptier((OzoneConfiguration) configuration,
+        emptierInterval, om.getThreadNamePrefix());
   }
 
   @Override
@@ -265,7 +266,8 @@ public class TrashPolicyOzone extends TrashPolicyDefault {
 
     private ThreadPoolExecutor executor;
 
-    Emptier(OzoneConfiguration conf, long emptierInterval) throws IOException {
+    Emptier(OzoneConfiguration conf, long emptierInterval,
+            String threadNamePrefix) throws IOException {
       this.conf = conf;
       this.emptierInterval = emptierInterval;
       if (emptierInterval > deletionInterval || emptierInterval <= 0) {
@@ -282,10 +284,17 @@ public class TrashPolicyOzone extends TrashPolicyDefault {
           + (deletionInterval / MSECS_PER_MINUTE)
           + " minutes, Emptier interval = "
           + (this.emptierInterval / MSECS_PER_MINUTE) + " minutes.");
-      executor = new ThreadPoolExecutor(trashEmptierCorePoolSize,
-          trashEmptierCorePoolSize, 1,
-          TimeUnit.SECONDS, new ArrayBlockingQueue<>(1024),
-          new ThreadPoolExecutor.CallerRunsPolicy());
+      executor = new ThreadPoolExecutor(
+          trashEmptierCorePoolSize,
+          trashEmptierCorePoolSize,
+          1,
+          TimeUnit.SECONDS,
+          new ArrayBlockingQueue<>(1024),
+          new ThreadFactoryBuilder()
+              .setNameFormat(threadNamePrefix + "TrashEmptier-%d")
+              .build(),
+          new ThreadPoolExecutor.CallerRunsPolicy()
+      );
     }
 
     @Override
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerDoubleBuffer.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerDoubleBuffer.java
index 2a1cca4e1d..1ab3634907 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerDoubleBuffer.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerDoubleBuffer.java
@@ -108,7 +108,7 @@ public final class OzoneManagerDoubleBuffer {
   private final boolean isTracingEnabled;
   private final Semaphore unFlushedTransactions;
   private final FlushNotifier flushNotifier;
-
+  private final String threadPrefix;
   /**
    * function which will get term associated with the transaction index.
    */
@@ -125,6 +125,8 @@ public final class OzoneManagerDoubleBuffer {
     private Function<Long, Long> indexToTerm = null;
     private int maxUnFlushedTransactionCount = 0;
     private FlushNotifier flushNotifier;
+    private String threadPrefix = "";
+
 
     public Builder setOmMetadataManager(OMMetadataManager omm) {
       this.mm = omm;
@@ -162,6 +164,11 @@ public final class OzoneManagerDoubleBuffer {
       return this;
     }
 
+    public Builder setThreadPrefix(String prefix) {
+      this.threadPrefix = prefix;
+      return this;
+    }
+
     public OzoneManagerDoubleBuffer build() {
       if (isRatisEnabled) {
         Preconditions.checkNotNull(rs, "When ratis is enabled, " +
@@ -178,15 +185,16 @@ public final class OzoneManagerDoubleBuffer {
 
       return new OzoneManagerDoubleBuffer(mm, rs, isRatisEnabled,
           isTracingEnabled, indexToTerm, maxUnFlushedTransactionCount,
-          flushNotifier);
+          flushNotifier, threadPrefix);
     }
   }
 
+  @SuppressWarnings("checkstyle:parameternumber")
   private OzoneManagerDoubleBuffer(OMMetadataManager omMetadataManager,
       OzoneManagerRatisSnapshot ozoneManagerRatisSnapShot,
       boolean isRatisEnabled, boolean isTracingEnabled,
       Function<Long, Long> indexToTerm, int maxUnFlushedTransactions,
-      FlushNotifier flushNotifier) {
+      FlushNotifier flushNotifier, String threadPrefix) {
     this.currentBuffer = new ConcurrentLinkedQueue<>();
     this.readyBuffer = new ConcurrentLinkedQueue<>();
     this.isRatisEnabled = isRatisEnabled;
@@ -202,11 +210,11 @@ public final class OzoneManagerDoubleBuffer {
         OzoneManagerDoubleBufferMetrics.create();
     this.indexToTerm = indexToTerm;
     this.flushNotifier = flushNotifier;
-
+    this.threadPrefix = threadPrefix;
     isRunning.set(true);
     // Daemon thread which runs in background and flushes transactions to DB.
     daemon = new Daemon(this::flushTransactions);
-    daemon.setName("OMDoubleBufferFlushThread");
+    daemon.setName(threadPrefix + "OMDoubleBufferFlushThread");
     daemon.start();
   }
 
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerStateMachine.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerStateMachine.java
index 936ad5a292..0551e6dfc7 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerStateMachine.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerStateMachine.java
@@ -98,6 +98,7 @@ public class OzoneManagerStateMachine extends 
BaseStateMachine {
   private final ExecutorService installSnapshotExecutor;
   private final boolean isTracingEnabled;
   private final AtomicInteger statePausedCount = new AtomicInteger(0);
+  private final String threadPrefix;
 
   // Map which contains index and term for the ratis transactions which are
   // stateMachine entries which are received through applyTransaction.
@@ -123,12 +124,17 @@ public class OzoneManagerStateMachine extends 
BaseStateMachine {
 
     this.handler = new OzoneManagerRequestHandler(ozoneManager,
         ozoneManagerDoubleBuffer);
-
+    this.threadPrefix = ozoneManager.getThreadNamePrefix();
 
     ThreadFactory build = new ThreadFactoryBuilder().setDaemon(true)
-        .setNameFormat("OM StateMachine ApplyTransaction Thread - %d").build();
+        .setNameFormat(threadPrefix +
+            "OMStateMachineApplyTransactionThread - %d").build();
     this.executorService = HadoopExecutors.newSingleThreadExecutor(build);
-    this.installSnapshotExecutor = HadoopExecutors.newSingleThreadExecutor();
+
+    ThreadFactory installSnapshotThreadFactory = new ThreadFactoryBuilder()
+        .setNameFormat(threadPrefix + "InstallSnapshotThread").build();
+    this.installSnapshotExecutor =
+        HadoopExecutors.newSingleThreadExecutor(installSnapshotThreadFactory);
   }
 
   /**
@@ -464,7 +470,7 @@ public class OzoneManagerStateMachine extends 
BaseStateMachine {
         .setOmMetadataManager(ozoneManager.getMetadataManager())
         .setOzoneManagerRatisSnapShot(this::updateLastAppliedIndex)
         .setmaxUnFlushedTransactionCount(maxUnflushedTransactionSize)
-        .setIndexToTerm(this::getTermForIndex)
+        .setIndexToTerm(this::getTermForIndex).setThreadPrefix(threadPrefix)
         .enableRatis(true)
         .enableTracing(isTracingEnabled)
         .build();
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/AbstractKeyDeletingService.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/AbstractKeyDeletingService.java
index d48f3adb13..2becd9b026 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/AbstractKeyDeletingService.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/AbstractKeyDeletingService.java
@@ -87,7 +87,7 @@ public abstract class AbstractKeyDeletingService extends 
BackgroundService
       TimeUnit unit, int threadPoolSize, long serviceTimeout,
       OzoneManager ozoneManager, ScmBlockLocationProtocol scmClient) {
     super(serviceName, interval, unit, threadPoolSize, serviceTimeout,
-        ozoneManager.getNodeDetails().threadNamePrefix());
+        ozoneManager.getThreadNamePrefix());
     this.ozoneManager = ozoneManager;
     this.scmClient = scmClient;
     this.deletedDirsCount = new AtomicLong(0);
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/MultipartUploadCleanupService.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/MultipartUploadCleanupService.java
index ea175ac001..1199a0c650 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/MultipartUploadCleanupService.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/MultipartUploadCleanupService.java
@@ -74,7 +74,8 @@ public class MultipartUploadCleanupService extends 
BackgroundService {
   public MultipartUploadCleanupService(long interval, TimeUnit unit,
         long timeout, OzoneManager ozoneManager, ConfigurationSource conf) {
     super("MultipartUploadCleanupService", interval, unit,
-        MPU_INFO_DELETING_CORE_POOL_SIZE, timeout);
+        MPU_INFO_DELETING_CORE_POOL_SIZE, timeout,
+        ozoneManager.getThreadNamePrefix());
     this.ozoneManager = ozoneManager;
     this.keyManager = ozoneManager.getKeyManager();
 
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/OMRangerBGSyncService.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/OMRangerBGSyncService.java
index abde041053..45112037c1 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/OMRangerBGSyncService.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/OMRangerBGSyncService.java
@@ -208,7 +208,8 @@ public class OMRangerBGSyncService extends 
BackgroundService {
       MultiTenantAccessController accessController,
       long interval, TimeUnit unit, long serviceTimeout) {
 
-    super("OMRangerBGSyncService", interval, unit, 1, serviceTimeout);
+    super("OMRangerBGSyncService", interval, unit, 1, serviceTimeout,
+        ozoneManager.getThreadNamePrefix());
 
     this.ozoneManager = ozoneManager;
     this.metadataManager = ozoneManager.getMetadataManager();
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/OpenKeyCleanupService.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/OpenKeyCleanupService.java
index 960f49acbc..0f2c1f84a6 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/OpenKeyCleanupService.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/OpenKeyCleanupService.java
@@ -82,9 +82,11 @@ public class OpenKeyCleanupService extends BackgroundService 
{
   private final AtomicBoolean suspended;
 
   public OpenKeyCleanupService(long interval, TimeUnit unit, long timeout,
-      OzoneManager ozoneManager, ConfigurationSource conf) {
+                               OzoneManager ozoneManager,
+                               ConfigurationSource conf) {
     super("OpenKeyCleanupService", interval, unit,
-        OPEN_KEY_DELETING_CORE_POOL_SIZE, timeout);
+        OPEN_KEY_DELETING_CORE_POOL_SIZE, timeout,
+        ozoneManager.getThreadNamePrefix());
     this.ozoneManager = ozoneManager;
     this.keyManager = ozoneManager.getKeyManager();
 
@@ -218,7 +220,7 @@ public class OpenKeyCleanupService extends 
BackgroundService {
 
       if (LOG.isDebugEnabled()) {
         LOG.debug("Number of expired open keys submitted for deletion: {},"
-            + " for commit: {}, elapsed time: {}ms",
+                + " for commit: {}, elapsed time: {}ms",
             numOpenKeys, numHsyncKeys, Time.monotonicNow() - startTime);
       }
       final int numKeys = numOpenKeys + numHsyncKeys;
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/SnapshotDiffCleanupService.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/SnapshotDiffCleanupService.java
index c0354530bd..50aea08aac 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/SnapshotDiffCleanupService.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/service/SnapshotDiffCleanupService.java
@@ -89,7 +89,7 @@ public class SnapshotDiffCleanupService extends 
BackgroundService {
     super(SnapshotDiffCleanupService.class.getSimpleName(),
         interval,
         TimeUnit.MILLISECONDS, SNAPSHOT_DIFF_CLEANUP_CORE_POOL_SIZE,
-        serviceTimeout);
+        serviceTimeout, ozoneManager.getThreadNamePrefix());
     this.suspended = new AtomicBoolean(false);
     this.runCount = new AtomicLong(0);
     this.successRunCount = new AtomicLong(0);
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/SnapshotDiffManager.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/SnapshotDiffManager.java
index 925881341d..b9b8fd10e5 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/SnapshotDiffManager.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/SnapshotDiffManager.java
@@ -256,7 +256,8 @@ public class SnapshotDiffManager implements AutoCloseable {
         TimeUnit.MILLISECONDS,
         new ArrayBlockingQueue<>(threadPoolSize),
         new ThreadFactoryBuilder()
-            .setNameFormat("snapshot-diff-job-thread-id-%d")
+            .setNameFormat(ozoneManager.getThreadNamePrefix() +
+                "snapshot-diff-job-thread-id-%d")
             .build()
     );
 
@@ -304,7 +305,8 @@ public class SnapshotDiffManager implements AutoCloseable {
       this.sstDumpToolExecService = Optional.of(new ThreadPoolExecutor(0,
               threadPoolSize, 60, TimeUnit.SECONDS,
               new SynchronousQueue<>(), new ThreadFactoryBuilder()
-              .setNameFormat("snapshot-diff-manager-sst-dump-tool-TID-%d")
+          .setNameFormat(ozoneManager.getThreadNamePrefix() +
+              "snapshot-diff-manager-sst-dump-tool-TID-%d")
               .build(),
               new ThreadPoolExecutor.DiscardPolicy()));
       return Optional.of(new ManagedSSTDumpTool(sstDumpToolExecService.get(),
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/security/OzoneDelegationTokenSecretManager.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/security/OzoneDelegationTokenSecretManager.java
index 23d529daa7..7586f539e0 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/security/OzoneDelegationTokenSecretManager.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/security/OzoneDelegationTokenSecretManager.java
@@ -564,10 +564,13 @@ public class OzoneDelegationTokenSecretManager
       throws IOException {
     super.start(certClient);
     tokenRemoverThread = new Daemon(new ExpiredTokenRemover());
+    tokenRemoverThread.setName(
+        ozoneManager.getThreadNamePrefix() +
+            "ExpiredTokenRemover");
     tokenRemoverThread.start();
   }
 
-  public void stopThreads() {
+  private synchronized void stopThreads() {
     if (LOG.isDebugEnabled()) {
       LOG.debug("Stopping expired delegation token remover thread");
     }
diff --git 
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestGrpcOzoneManagerServer.java
 
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestGrpcOzoneManagerServer.java
index f89dd6186b..d52a4fb37f 100644
--- 
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestGrpcOzoneManagerServer.java
+++ 
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestGrpcOzoneManagerServer.java
@@ -52,7 +52,8 @@ public class TestGrpcOzoneManagerServer {
     server = new GrpcOzoneManagerServer(conf,
         omServerProtocol,
         ozoneManager.getDelegationTokenMgr(),
-        ozoneManager.getCertificateClient());
+        ozoneManager.getCertificateClient(),
+        "");
 
     try {
       server.start();


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to