This is an automated email from the ASF dual-hosted git repository.
reschke pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
The following commit(s) were added to refs/heads/trunk by this push:
new aaa5e82948 OAK-11888: Remove usage of Guava ThreadBuilderFactory
(#2484)
aaa5e82948 is described below
commit aaa5e8294820558fcc7abad2f8b629904873c067
Author: Julian Reschke <[email protected]>
AuthorDate: Tue Sep 2 11:39:00 2025 +0200
OAK-11888: Remove usage of Guava ThreadBuilderFactory (#2484)
---
.../oak/plugins/atomic/AtomicCounterEditorProvider.java | 5 ++---
.../oak/plugins/index/lucene/writer/IndexWriterPool.java | 11 +++--------
.../document/flatfile/pipelined/PipelinedStrategy.java | 4 ++--
.../flatfile/pipelined/PipelinedTreeStoreStrategy.java | 6 +++---
.../org/apache/jackrabbit/oak/index/ThreadMonitorTest.java | 4 ++--
.../flatfile/pipelined/PipelinedMongoServerSelectorTest.java | 8 ++++----
.../main/java/org/apache/jackrabbit/oak/run/Downloader.java | 7 ++-----
.../oak/plugins/index/elastic/ElasticIndexStatistics.java | 7 ++-----
8 files changed, 20 insertions(+), 32 deletions(-)
diff --git
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/atomic/AtomicCounterEditorProvider.java
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/atomic/AtomicCounterEditorProvider.java
index ec94551d86..bd98500a9b 100644
---
a/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/atomic/AtomicCounterEditorProvider.java
+++
b/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/atomic/AtomicCounterEditorProvider.java
@@ -22,6 +22,7 @@ import java.util.concurrent.ThreadFactory;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Supplier;
+import org.apache.commons.lang3.concurrent.BasicThreadFactory;
import org.apache.jackrabbit.oak.api.CommitFailedException;
import org.apache.jackrabbit.oak.commons.concurrent.ExecutorCloser;
import org.apache.jackrabbit.oak.osgi.OsgiWhiteboard;
@@ -43,8 +44,6 @@ import org.osgi.service.component.annotations.Reference;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.apache.jackrabbit.guava.common.util.concurrent.ThreadFactoryBuilder;
-
import static
org.osgi.service.component.annotations.ReferenceCardinality.OPTIONAL;
import static org.osgi.service.component.annotations.ReferencePolicy.DYNAMIC;
@@ -169,7 +168,7 @@ public class AtomicCounterEditorProvider implements
EditorProvider {
@Activate
public void activate(BundleContext context) {
whiteboard.set(new OsgiWhiteboard(context));
- ThreadFactory tf = new
ThreadFactoryBuilder().setNameFormat("atomic-counter-%d").build();
+ ThreadFactory tf =
BasicThreadFactory.builder().namingPattern("atomic-counter-%d").build();
scheduler.set(Executors.newScheduledThreadPool(10, tf));
}
diff --git
a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/IndexWriterPool.java
b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/IndexWriterPool.java
index e68ea27cc3..56ab1c6f05 100644
---
a/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/IndexWriterPool.java
+++
b/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/writer/IndexWriterPool.java
@@ -18,7 +18,7 @@
*/
package org.apache.jackrabbit.oak.plugins.index.lucene.writer;
-import org.apache.jackrabbit.guava.common.util.concurrent.ThreadFactoryBuilder;
+import org.apache.commons.lang3.concurrent.BasicThreadFactory;
import org.apache.jackrabbit.oak.commons.concurrent.ExecutorCloser;
import org.apache.jackrabbit.oak.plugins.index.ConfigHelper;
import org.apache.jackrabbit.oak.plugins.index.FormattingUtils;
@@ -262,13 +262,8 @@ public class IndexWriterPool {
* WARN: This is not thread safe.
*/
public IndexWriterPool() {
- this.writersPool = Executors.newFixedThreadPool(numberOfThreads, new
ThreadFactoryBuilder()
- .setDaemon(true)
- .build());
- this.monitorTaskExecutor =
Executors.newSingleThreadScheduledExecutor(new ThreadFactoryBuilder()
- .setDaemon(true)
- .setNameFormat("index-writer-monitor")
- .build());
+ this.writersPool = Executors.newFixedThreadPool(numberOfThreads,
BasicThreadFactory.builder().daemon().build());
+ this.monitorTaskExecutor =
Executors.newSingleThreadScheduledExecutor(BasicThreadFactory.builder().daemon().namingPattern("index-writer-monitor").build());
this.workers = IntStream.range(0, numberOfThreads)
.mapToObj(Worker::new)
.collect(Collectors.toList());
diff --git
a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/pipelined/PipelinedStrategy.java
b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/pipelined/PipelinedStrategy.java
index 840cb18468..b6e087e63e 100644
---
a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/pipelined/PipelinedStrategy.java
+++
b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/pipelined/PipelinedStrategy.java
@@ -21,7 +21,7 @@ package
org.apache.jackrabbit.oak.index.indexer.document.flatfile.pipelined;
import com.mongodb.MongoClientSettings;
import com.mongodb.ConnectionString;
import org.apache.commons.io.FileUtils;
-import org.apache.jackrabbit.guava.common.util.concurrent.ThreadFactoryBuilder;
+import org.apache.commons.lang3.concurrent.BasicThreadFactory;
import org.apache.jackrabbit.oak.commons.Compression;
import org.apache.jackrabbit.oak.commons.IOUtils;
import org.apache.jackrabbit.oak.commons.concurrent.ExecutorCloser;
@@ -354,7 +354,7 @@ public class PipelinedStrategy extends
IndexStoreSortStrategyBase {
public File createSortedStoreFile() throws IOException {
int numberOfThreads = 1 + numberOfTransformThreads + 1 + 1; // dump,
transform, sort threads, sorted files merge
ThreadMonitor threadMonitor = ThreadMonitor.newInstance();
- var threadFactory = new
ThreadMonitor.AutoRegisteringThreadFactory(threadMonitor, new
ThreadFactoryBuilder().setDaemon(true).build());
+ var threadFactory = new
ThreadMonitor.AutoRegisteringThreadFactory(threadMonitor,
BasicThreadFactory.builder().daemon().build());
ExecutorService threadPool =
Executors.newFixedThreadPool(numberOfThreads, threadFactory);
MongoDocumentFilter documentFilter = new
MongoDocumentFilter(filteredPath, suffixesToSkip);
NodeDocumentCodec nodeDocumentCodec = new NodeDocumentCodec(docStore,
Collection.NODES, documentFilter,
MongoClientSettings.getDefaultCodecRegistry());
diff --git
a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/pipelined/PipelinedTreeStoreStrategy.java
b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/pipelined/PipelinedTreeStoreStrategy.java
index 85cbd9c1d6..2ceb16d440 100644
---
a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/pipelined/PipelinedTreeStoreStrategy.java
+++
b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/pipelined/PipelinedTreeStoreStrategy.java
@@ -21,7 +21,7 @@ package
org.apache.jackrabbit.oak.index.indexer.document.flatfile.pipelined;
import com.mongodb.MongoClientSettings;
import com.mongodb.ConnectionString;
import org.apache.commons.io.FileUtils;
-import org.apache.jackrabbit.guava.common.util.concurrent.ThreadFactoryBuilder;
+import org.apache.commons.lang3.concurrent.BasicThreadFactory;
import org.apache.jackrabbit.oak.commons.Compression;
import org.apache.jackrabbit.oak.commons.IOUtils;
import org.apache.jackrabbit.oak.commons.concurrent.ExecutorCloser;
@@ -341,7 +341,7 @@ public class PipelinedTreeStoreStrategy extends
IndexStoreSortStrategyBase {
public File createSortedStoreFile() throws IOException {
int numberOfThreads = 1 + numberOfTransformThreads + 1; // dump,
transform, sort threads
ExecutorService threadPool =
Executors.newFixedThreadPool(numberOfThreads,
- new ThreadFactoryBuilder().setDaemon(true).build()
+ BasicThreadFactory.builder().daemon().build()
);
MongoDocumentFilter documentFilter = new
MongoDocumentFilter(filteredPath, suffixesToSkip);
NodeDocumentCodec nodeDocumentCodec = new NodeDocumentCodec(docStore,
Collection.NODES, documentFilter,
MongoClientSettings.getDefaultCodecRegistry());
@@ -385,7 +385,7 @@ public class PipelinedTreeStoreStrategy extends
IndexStoreSortStrategyBase {
pathFilters,
statisticsProvider,
indexingReporter,
- new ThreadFactoryBuilder().setDaemon(true).build(),
+ BasicThreadFactory.builder().daemon().build(),
minModified
));
diff --git
a/oak-run-commons/src/test/java/org/apache/jackrabbit/oak/index/ThreadMonitorTest.java
b/oak-run-commons/src/test/java/org/apache/jackrabbit/oak/index/ThreadMonitorTest.java
index 436aa7165e..d51010fa98 100644
---
a/oak-run-commons/src/test/java/org/apache/jackrabbit/oak/index/ThreadMonitorTest.java
+++
b/oak-run-commons/src/test/java/org/apache/jackrabbit/oak/index/ThreadMonitorTest.java
@@ -18,7 +18,7 @@
*/
package org.apache.jackrabbit.oak.index;
-import org.apache.jackrabbit.guava.common.util.concurrent.ThreadFactoryBuilder;
+import org.apache.commons.lang3.concurrent.BasicThreadFactory;
import org.apache.jackrabbit.oak.commons.concurrent.ExecutorCloser;
import org.junit.After;
import org.junit.Before;
@@ -115,7 +115,7 @@ public class ThreadMonitorTest {
monitor.start();
ThreadMonitor.AutoRegisteringThreadFactory factory = new
ThreadMonitor.AutoRegisteringThreadFactory(
monitor,
- new ThreadFactoryBuilder().setNameFormat("test-thread").build()
+
BasicThreadFactory.builder().namingPattern("test-thread").build()
);
ExecutorService executor = Executors.newSingleThreadExecutor(factory);
try {
diff --git
a/oak-run-commons/src/test/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/pipelined/PipelinedMongoServerSelectorTest.java
b/oak-run-commons/src/test/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/pipelined/PipelinedMongoServerSelectorTest.java
index 15984e3b69..c166866546 100644
---
a/oak-run-commons/src/test/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/pipelined/PipelinedMongoServerSelectorTest.java
+++
b/oak-run-commons/src/test/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/pipelined/PipelinedMongoServerSelectorTest.java
@@ -27,7 +27,7 @@ import com.mongodb.connection.ServerConnectionState;
import com.mongodb.connection.ServerDescription;
import com.mongodb.connection.ServerType;
import com.mongodb.event.ClusterDescriptionChangedEvent;
-import org.apache.jackrabbit.guava.common.util.concurrent.ThreadFactoryBuilder;
+import org.apache.commons.lang3.concurrent.BasicThreadFactory;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -73,9 +73,9 @@ public class PipelinedMongoServerSelectorTest {
@Before
public void setUp() {
- threadAscending = Executors.newSingleThreadExecutor(new
ThreadFactoryBuilder().setNameFormat(PipelinedMongoDownloadTask.THREAD_NAME_PREFIX
+ "-ascending").setDaemon(true).build());
- threadDescending = Executors.newSingleThreadExecutor(new
ThreadFactoryBuilder().setNameFormat(PipelinedMongoDownloadTask.THREAD_NAME_PREFIX
+ "-descending").setDaemon(true).build());
- threadOther = Executors.newSingleThreadExecutor(new
ThreadFactoryBuilder().setNameFormat("mongo-server-selector-test-thread").setDaemon(true).build());
+ threadAscending =
Executors.newSingleThreadExecutor(BasicThreadFactory.builder().namingPattern(PipelinedMongoDownloadTask.THREAD_NAME_PREFIX
+ "-ascending").daemon().build());
+ threadDescending =
Executors.newSingleThreadExecutor(BasicThreadFactory.builder().namingPattern(PipelinedMongoDownloadTask.THREAD_NAME_PREFIX
+ "-descending").daemon().build());
+ threadOther =
Executors.newSingleThreadExecutor(BasicThreadFactory.builder().namingPattern("mongo-server-selector-test-thread").daemon().build());
}
@After
diff --git
a/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Downloader.java
b/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Downloader.java
index 76a2a1fd70..70ce113d1a 100644
--- a/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Downloader.java
+++ b/oak-run/src/main/java/org/apache/jackrabbit/oak/run/Downloader.java
@@ -18,7 +18,7 @@
*/
package org.apache.jackrabbit.oak.run;
-import org.apache.jackrabbit.guava.common.util.concurrent.ThreadFactoryBuilder;
+import org.apache.commons.lang3.concurrent.BasicThreadFactory;
import org.apache.jackrabbit.oak.commons.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -103,10 +103,7 @@ public class Downloader implements Closeable {
this.executorService = new ThreadPoolExecutor(
(int) Math.ceil(concurrency * .1), concurrency, 60L,
TimeUnit.SECONDS,
new LinkedBlockingQueue<>(),
- new ThreadFactoryBuilder()
- .setNameFormat("downloader-%d")
- .setDaemon(true)
- .build()
+
BasicThreadFactory.builder().namingPattern("downloader-%d").daemon().build()
);
this.responses = new ArrayList<>();
}
diff --git
a/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexStatistics.java
b/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexStatistics.java
index 53bd9b7cf5..8cd016f0f2 100644
---
a/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexStatistics.java
+++
b/oak-search-elastic/src/main/java/org/apache/jackrabbit/oak/plugins/index/elastic/ElasticIndexStatistics.java
@@ -27,6 +27,7 @@ import java.util.concurrent.TimeUnit;
import co.elastic.clients.elasticsearch._types.query_dsl.Query;
+import org.apache.commons.lang3.concurrent.BasicThreadFactory;
import org.apache.jackrabbit.guava.common.base.Ticker;
import org.apache.jackrabbit.oak.plugins.index.elastic.util.ElasticIndexUtils;
import org.apache.jackrabbit.oak.plugins.index.search.IndexStatistics;
@@ -39,7 +40,6 @@ import org.apache.jackrabbit.guava.common.cache.CacheLoader;
import org.apache.jackrabbit.guava.common.cache.LoadingCache;
import org.apache.jackrabbit.guava.common.util.concurrent.ListenableFuture;
import org.apache.jackrabbit.guava.common.util.concurrent.ListenableFutureTask;
-import org.apache.jackrabbit.guava.common.util.concurrent.ThreadFactoryBuilder;
import co.elastic.clients.elasticsearch._types.Bytes;
import co.elastic.clients.elasticsearch.cat.indices.IndicesRecord;
@@ -70,10 +70,7 @@ public class ElasticIndexStatistics implements
IndexStatistics {
private static final ExecutorService REFRESH_EXECUTOR = new
ThreadPoolExecutor(
0, 4, 60L, TimeUnit.SECONDS,
new LinkedBlockingQueue<>(),
- new ThreadFactoryBuilder()
-
.setNameFormat("elastic-statistics-cache-refresh-thread-%d")
- .setDaemon(true)
- .build()
+
BasicThreadFactory.builder().namingPattern("elastic-statistics-cache-refresh-thread-%d").daemon().build()
);
private final ElasticConnection elasticConnection;