From a0e0598c105ff7933eed8190b5ee9e288fcffc3a Mon Sep 17 00:00:00 2001 From: Maxim Muzafarov Date: Sat, 11 Jul 2026 13:41:21 +0200 Subject: [PATCH] set managmen pool as 1 when it is not defined --- src/java/org/apache/cassandra/transport/Dispatcher.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/java/org/apache/cassandra/transport/Dispatcher.java b/src/java/org/apache/cassandra/transport/Dispatcher.java index 48605c5593..fa0692a281 100644 --- a/src/java/org/apache/cassandra/transport/Dispatcher.java +++ b/src/java/org/apache/cassandra/transport/Dispatcher.java @@ -108,9 +108,12 @@ public class Dispatcher implements CQLMessageHandler.MessageConsumerManagement connections are established through the management transport server * (see {@link org.apache.cassandra.service.NativeTransportManagementService}), which listens * on a separate port from the regular native transport. + * + *

Unlike auth requests, management requests have no fallback executor, so values + * less than 1 are treated as 1: a zero-sized pool would queue management requests forever. */ @VisibleForTesting - static final LocalAwareExecutorPlus managementExecutor = SHARED.newExecutor(DatabaseDescriptor.getNativeTransportManagementMaxThreads(), + static final LocalAwareExecutorPlus managementExecutor = SHARED.newExecutor(Math.max(1, DatabaseDescriptor.getNativeTransportManagementMaxThreads()), DatabaseDescriptor::setNativeTransportManagementMaxThreads, "transport", "Native-Transport-Management-Tasks");