From b22089d7c8f723defec10359e026c767cae57224 Mon Sep 17 00:00:00 2001 From: Pavel Yaskevich Date: Tue, 2 Sep 2014 15:44:48 -0700 Subject: [PATCH] Make disruptor_thrift_server invocation pool configurable patch by Pavel Yaskevich; reviewed by Jason Brown for CASSANDRA-7594 --- CHANGES.txt | 1 + build.xml | 4 ++-- ...only-0.3.3.jar => thrift-server-0.3.6.jar} | Bin 39191 -> 39588 bytes .../thrift/THsHaDisruptorServer.java | 13 +++++++++++++ 4 files changed, 16 insertions(+), 2 deletions(-) rename lib/{thrift-server-internal-only-0.3.3.jar => thrift-server-0.3.6.jar} (50%) diff --git a/CHANGES.txt b/CHANGES.txt index 6d77f3c78f..4954b7f7b5 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -5,6 +5,7 @@ * Always reject inequality on the partition key without token() (CASSANDRA-7722) * Always send Paxos commit to all replicas (CASSANDRA-7479) + * Make disruptor_thrift_server invocation pool configurable (CASSANDRA-7594) 2.0.10 diff --git a/build.xml b/build.xml index dd59bd28aa..f456fa88d2 100644 --- a/build.xml +++ b/build.xml @@ -361,7 +361,7 @@ - + @@ -467,7 +467,7 @@ - + diff --git a/lib/thrift-server-internal-only-0.3.3.jar b/lib/thrift-server-0.3.6.jar similarity index 50% rename from lib/thrift-server-internal-only-0.3.3.jar rename to lib/thrift-server-0.3.6.jar index 6a1fbae73db606b9a8c79384262eb8a650a64620..c974f75e4e4a177321be0026d8ab3fe72eadad70 100644 GIT binary patch delta 16380 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, + new NamedThreadFactory("RPC-Thread"), "RPC-THREAD-POOL"); + com.thinkaurelius.thrift.util.TBinaryProtocol.Factory protocolFactory = new com.thinkaurelius.thrift.util.TBinaryProtocol.Factory(true, true); TDisruptorServer.Args serverArgs = new TDisruptorServer.Args(serverTransport).useHeapBasedAllocation(true) @@ -87,6 +99,7 @@ public class THsHaDisruptorServer extends TDisruptorServer .outputProtocolFactory(protocolFactory) .processor(args.processor) .maxFrameSizeInBytes(DatabaseDescriptor.getThriftFramedTransportSize()) + .invocationExecutor(invoker) .alwaysReallocateBuffers(true); return new THsHaDisruptorServer(serverArgs);