You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by re...@apache.org on 2025/10/09 14:10:49 UTC

(jackrabbit-oak) branch OAK-11974 created (now 999e3367ee)

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

reschke pushed a change to branch OAK-11974
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git


      at 999e3367ee OAK-11974: remove usage of jackrabbit-data - NamedThreadFactory

This branch includes the following new commits:

     new 999e3367ee OAK-11974: remove usage of jackrabbit-data - NamedThreadFactory

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(jackrabbit-oak) 01/01: OAK-11974: remove usage of jackrabbit-data - NamedThreadFactory

Posted by re...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

reschke pushed a commit to branch OAK-11974
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git

commit 999e3367ee4db00e86d29c6ecac20e624acb1a73
Author: Julian Reschke <re...@apache.org>
AuthorDate: Thu Oct 9 15:10:27 2025 +0100

    OAK-11974: remove usage of jackrabbit-data - NamedThreadFactory
---
 .../org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java     |  6 +++---
 .../apache/jackrabbit/oak/plugins/blob/UploadStagingCache.java |  8 +++++---
 .../oak/plugins/blob/AbstractDataStoreCacheTest.java           |  4 ++--
 .../jackrabbit/oak/plugins/blob/datastore/FSBackendIT.java     |  4 ++--
 oak-segment-tar/pom.xml                                        | 10 +++++-----
 .../oak/segment/standby/client/StandbyClientSync.java          |  4 ++--
 .../jackrabbit/oak/segment/standby/server/StandbyServer.java   |  6 +++---
 7 files changed, 22 insertions(+), 20 deletions(-)

diff --git a/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java b/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java
index 1e50f018e0..db5c759845 100644
--- a/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java
+++ b/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/S3Backend.java
@@ -46,10 +46,10 @@ import com.amazonaws.services.s3.model.GetObjectMetadataRequest;
 import com.amazonaws.services.s3.model.GetObjectRequest;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.concurrent.BasicThreadFactory;
 import org.apache.jackrabbit.core.data.DataIdentifier;
 import org.apache.jackrabbit.core.data.DataRecord;
 import org.apache.jackrabbit.core.data.DataStoreException;
-import org.apache.jackrabbit.core.data.util.NamedThreadFactory;
 import org.apache.jackrabbit.oak.commons.PropertiesUtil;
 import org.apache.jackrabbit.oak.commons.collections.IterableUtils;
 import org.apache.jackrabbit.oak.commons.collections.ListUtils;
@@ -203,7 +203,7 @@ public class S3Backend extends AbstractSharedBackend {
             }
             LOG.info("Using thread pool of [{}] threads in S3 transfer manager.", writeThreads);
             tmx = new TransferManager(s3service, Executors.newFixedThreadPool(writeThreads,
-                new NamedThreadFactory("s3-transfer-manager-worker")));
+                    BasicThreadFactory.builder().namingPattern("s3-transfer-manager-worker-%d").build()));
 
             String renameKeyProp = properties.getProperty(S3Constants.S3_RENAME_KEYS);
             boolean renameKeyBool = (renameKeyProp == null || "".equals(renameKeyProp))
@@ -1246,7 +1246,7 @@ public class S3Backend extends AbstractSharedBackend {
             List<String> keysToDelete = new ArrayList<>();
             int nThreads = Integer.parseInt(properties.getProperty("maxConnections"));
             ExecutorService executor = Executors.newFixedThreadPool(nThreads,
-                new NamedThreadFactory("s3-object-rename-worker"));
+                    BasicThreadFactory.builder().namingPattern("s3-object-rename-worker-%d").build());
             boolean taskAdded = false;
             while (true) {
                 for (S3ObjectSummary s3ObjSumm : prevObjectListing.getObjectSummaries()) {
diff --git a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/UploadStagingCache.java b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/UploadStagingCache.java
index e2d0599f51..36f1a8a6e4 100644
--- a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/UploadStagingCache.java
+++ b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/UploadStagingCache.java
@@ -42,6 +42,7 @@ import java.util.concurrent.atomic.AtomicLong;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
+import org.apache.commons.lang3.concurrent.BasicThreadFactory;
 import org.apache.jackrabbit.guava.common.cache.Weigher;
 import org.apache.jackrabbit.guava.common.util.concurrent.FutureCallback;
 import org.apache.jackrabbit.guava.common.util.concurrent.Futures;
@@ -49,7 +50,6 @@ import org.apache.jackrabbit.guava.common.util.concurrent.ListenableFuture;
 import org.apache.jackrabbit.guava.common.util.concurrent.ListeningExecutorService;
 import org.apache.jackrabbit.guava.common.util.concurrent.MoreExecutors;
 import org.apache.jackrabbit.core.data.DataStoreException;
-import org.apache.jackrabbit.core.data.util.NamedThreadFactory;
 import org.apache.jackrabbit.oak.commons.StringUtils;
 import org.apache.jackrabbit.oak.commons.concurrent.ExecutorCloser;
 import org.apache.jackrabbit.oak.commons.jmx.AnnotatedStandardMBean;
@@ -163,13 +163,15 @@ public class UploadStagingCache implements Closeable {
         this.executor = executor;
         if (executor == null) {
             this.executor = MoreExecutors.listeningDecorator(Executors
-                .newFixedThreadPool(uploadThreads, new NamedThreadFactory("oak-ds-async-upload-thread")));
+                .newFixedThreadPool(uploadThreads,
+                        BasicThreadFactory.builder().namingPattern("oak-ds-async-upload-thread-%d").build()));
         }
 
         this.scheduledExecutor = scheduledExecutor;
         if (scheduledExecutor == null) {
             this.scheduledExecutor = Executors
-                .newScheduledThreadPool(2, new NamedThreadFactory("oak-ds-cache-scheduled-thread"));
+                .newScheduledThreadPool(2,
+                        BasicThreadFactory.builder().namingPattern("oak-ds-cache-scheduled-thread-%d").build());
         }
 
         this.map = new ConcurrentHashMap<>();
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/AbstractDataStoreCacheTest.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/AbstractDataStoreCacheTest.java
index c753819f4d..6df2eb8140 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/AbstractDataStoreCacheTest.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/AbstractDataStoreCacheTest.java
@@ -46,10 +46,10 @@ import java.util.concurrent.TimeUnit;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.concurrent.BasicThreadFactory;
 import org.apache.jackrabbit.core.data.DataIdentifier;
 import org.apache.jackrabbit.core.data.DataRecord;
 import org.apache.jackrabbit.core.data.DataStoreException;
-import org.apache.jackrabbit.core.data.util.NamedThreadFactory;
 import org.apache.jackrabbit.guava.common.cache.CacheLoader;
 import org.apache.jackrabbit.guava.common.util.concurrent.AbstractListeningExecutorService;
 import org.apache.jackrabbit.guava.common.util.concurrent.FutureCallback;
@@ -192,7 +192,7 @@ public class AbstractDataStoreCacheTest {
 
         TestPoolExecutor(int threads, CountDownLatch beforeLatch, CountDownLatch afterLatch) {
             super(threads, threads, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(),
-                new NamedThreadFactory("oak-async-thread"));
+                    BasicThreadFactory.builder().namingPattern("oak-async-thread-%d").build());
             this.beforeLatch = beforeLatch;
             this.afterLatch = afterLatch;
         }
diff --git a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/FSBackendIT.java b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/FSBackendIT.java
index c0b977fe0f..7bcf662336 100644
--- a/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/FSBackendIT.java
+++ b/oak-blob-plugins/src/test/java/org/apache/jackrabbit/oak/plugins/blob/datastore/FSBackendIT.java
@@ -32,11 +32,11 @@ import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
 import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang3.concurrent.BasicThreadFactory;
 import org.apache.jackrabbit.core.data.DataIdentifier;
 import org.apache.jackrabbit.core.data.DataRecord;
 import org.apache.jackrabbit.core.data.DataStore;
 import org.apache.jackrabbit.core.data.DataStoreException;
-import org.apache.jackrabbit.core.data.util.NamedThreadFactory;
 import org.apache.jackrabbit.oak.commons.FileIOUtils;
 import org.apache.jackrabbit.oak.commons.PropertiesUtil;
 import org.apache.jackrabbit.oak.commons.collections.MapUtils;
@@ -77,7 +77,7 @@ public class FSBackendIT {
         props.setProperty("fsBackendPath", dataStoreDir);
         ds = createDataStore();
         backend = (FSBackend) ((CachingFileDataStore) ds).getBackend();
-        this.executor = Executors.newFixedThreadPool(25, new NamedThreadFactory("oak-backend-test-write-thread"));
+        this.executor = Executors.newFixedThreadPool(25, BasicThreadFactory.builder().namingPattern("oak-backend-test-write-thread-%d").build());
     }
 
     protected DataStore createDataStore() {
diff --git a/oak-segment-tar/pom.xml b/oak-segment-tar/pom.xml
index eab0cfd657..de9735e4dd 100644
--- a/oak-segment-tar/pom.xml
+++ b/oak-segment-tar/pom.xml
@@ -240,6 +240,11 @@
             <artifactId>slf4j-api</artifactId>
             <scope>provided</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+            <scope>provided</scope>
+        </dependency>
         <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-text</artifactId>
@@ -384,11 +389,6 @@
             <artifactId>org.osgi.service.cm</artifactId>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.apache.commons</groupId>
-            <artifactId>commons-lang3</artifactId>
-            <scope>test</scope>
-        </dependency>
         <dependency>
             <groupId>org.easymock</groupId>
             <artifactId>easymock</artifactId>
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/client/StandbyClientSync.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/client/StandbyClientSync.java
index 590bbe2952..75f508f21c 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/client/StandbyClientSync.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/client/StandbyClientSync.java
@@ -32,7 +32,7 @@ import javax.management.ObjectName;
 import javax.management.StandardMBean;
 
 import io.netty.channel.nio.NioEventLoopGroup;
-import org.apache.jackrabbit.core.data.util.NamedThreadFactory;
+import org.apache.commons.lang3.concurrent.BasicThreadFactory;
 import org.apache.jackrabbit.oak.segment.file.FileStore;
 import org.apache.jackrabbit.oak.segment.file.tar.GCGeneration;
 import org.apache.jackrabbit.oak.segment.standby.jmx.ClientStandbyStatusMBean;
@@ -195,7 +195,7 @@ public final class StandbyClientSync implements ClientStandbyStatusMBean, Runnab
         this.autoClean = builder.autoClean;
         this.fileStore = builder.fileStore;
         this.observer = new CommunicationObserver(clientId());
-        this.group = new NioEventLoopGroup(0, new NamedThreadFactory("standby"));
+        this.group = new NioEventLoopGroup(0, BasicThreadFactory.builder().namingPattern("standby-%d").build());
         this.execution = new StandbyClientSyncExecution(fileStore, () -> running);
         this.spoolFolder = builder.spoolFolder;
         this.sslKeyFile = builder.sslKeyFile;
diff --git a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbyServer.java b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbyServer.java
index 5698da4a49..aeb761bb49 100644
--- a/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbyServer.java
+++ b/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/server/StandbyServer.java
@@ -43,7 +43,7 @@ import io.netty.handler.ssl.SslHandler;
 import io.netty.handler.ssl.util.SelfSignedCertificate;
 import io.netty.handler.stream.ChunkedWriteHandler;
 import io.netty.util.CharsetUtil;
-import org.apache.jackrabbit.core.data.util.NamedThreadFactory;
+import org.apache.commons.lang3.concurrent.BasicThreadFactory;
 import org.apache.jackrabbit.oak.commons.conditions.Validate;
 import org.apache.jackrabbit.oak.segment.file.FileStore;
 import org.apache.jackrabbit.oak.segment.standby.codec.GetBlobResponseEncoder;
@@ -224,8 +224,8 @@ class StandbyServer implements AutoCloseable {
             }
         }
 
-        bossGroup = new NioEventLoopGroup(1, new NamedThreadFactory("primary-run"));
-        workerGroup = new NioEventLoopGroup(0, new NamedThreadFactory("primary"));
+        bossGroup = new NioEventLoopGroup(1, BasicThreadFactory.builder().namingPattern("primary-run-%d").build());
+        workerGroup = new NioEventLoopGroup(0, BasicThreadFactory.builder().namingPattern("primary-%d").build());
 
         b = new ServerBootstrap();
         b.group(bossGroup, workerGroup);