From 01bcd9e852a72038e0965c7c61a20a63587240ee Mon Sep 17 00:00:00 2001 From: Dmitry Konstantinov Date: Thu, 18 Dec 2025 20:40:14 +0000 Subject: [PATCH 1/2] change default for cassandra.set_sep_thread_name to false + invoke Thread.setName only if an phase changed --- src/java/org/apache/cassandra/concurrent/SEPWorker.java | 7 ++++++- .../cassandra/config/CassandraRelevantProperties.java | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/java/org/apache/cassandra/concurrent/SEPWorker.java b/src/java/org/apache/cassandra/concurrent/SEPWorker.java index 01a8db45ee5a..ee35e9c6a98b 100644 --- a/src/java/org/apache/cassandra/concurrent/SEPWorker.java +++ b/src/java/org/apache/cassandra/concurrent/SEPWorker.java @@ -52,6 +52,8 @@ final class SEPWorker extends AtomicReference implements Runnabl private final AtomicReference currentTask = new AtomicReference<>(); + private String lastUsedExecutorName; + SEPWorker(ThreadGroup threadGroup, Long workerId, Work initialState, SharedExecutorPool pool) { this.pool = pool; @@ -128,8 +130,11 @@ public void run() assigned = get().assigned; if (assigned == null) continue; - if (SET_THREAD_NAME) + if (SET_THREAD_NAME && assigned.name != lastUsedExecutorName) // equals is not used intentionally + { Thread.currentThread().setName(assigned.name + workerIdThreadSuffix); + lastUsedExecutorName = assigned.name; + } task = assigned.tasks.poll(); currentTask.lazySet(task); diff --git a/src/java/org/apache/cassandra/config/CassandraRelevantProperties.java b/src/java/org/apache/cassandra/config/CassandraRelevantProperties.java index 99726f6b3ddb..3b3b3f2dfed0 100644 --- a/src/java/org/apache/cassandra/config/CassandraRelevantProperties.java +++ b/src/java/org/apache/cassandra/config/CassandraRelevantProperties.java @@ -519,7 +519,7 @@ public enum CassandraRelevantProperties */ SEED_COUNT_WARN_THRESHOLD("cassandra.seed_count_warn_threshold"), SERIALIZATION_EMPTY_TYPE_NONEMPTY_BEHAVIOR("cassandra.serialization.emptytype.nonempty_behavior"), - SET_SEP_THREAD_NAME("cassandra.set_sep_thread_name", "true"), + SET_SEP_THREAD_NAME("cassandra.set_sep_thread_name", "false"), SHUTDOWN_ANNOUNCE_DELAY_IN_MS("cassandra.shutdown_announce_in_ms", "2000"), SIMULATOR_SEED("cassandra.simulator.seed"), SIMULATOR_STARTED("cassandra.simulator.started"), From 815ae8ed209b00c22ee73c3c78ef9133e480b966 Mon Sep 17 00:00:00 2001 From: Dmitry Konstantinov Date: Sat, 20 Dec 2025 18:08:36 +0000 Subject: [PATCH 2/2] review comment --- src/java/org/apache/cassandra/concurrent/SEPWorker.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/java/org/apache/cassandra/concurrent/SEPWorker.java b/src/java/org/apache/cassandra/concurrent/SEPWorker.java index ee35e9c6a98b..3dbc1543cea7 100644 --- a/src/java/org/apache/cassandra/concurrent/SEPWorker.java +++ b/src/java/org/apache/cassandra/concurrent/SEPWorker.java @@ -130,7 +130,7 @@ public void run() assigned = get().assigned; if (assigned == null) continue; - if (SET_THREAD_NAME && assigned.name != lastUsedExecutorName) // equals is not used intentionally + if (SET_THREAD_NAME && assigned.name != lastUsedExecutorName) // .equals is not used intentionally { Thread.currentThread().setName(assigned.name + workerIdThreadSuffix); lastUsedExecutorName = assigned.name;