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 <resc...@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);