Skip to content

Commit 0994362

Browse files
wendigomartint
authored andcommitted
Restore pre-4.2.0 pooled allocator
New AdaptivePooledAllocator seems to break drift in unexpected ways. Restoring to previous default allocator works fine.
1 parent 6757b86 commit 0994362

File tree

4 files changed

+17
-10
lines changed

4 files changed

+17
-10
lines changed

drift-transport-netty/src/main/java/io/airlift/drift/transport/netty/client/DriftNettyClientModule.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import io.airlift.drift.transport.client.DriftClientConfig;
2828
import io.airlift.drift.transport.client.MethodInvokerFactory;
2929
import io.netty.buffer.ByteBufAllocator;
30+
import io.netty.buffer.PooledByteBufAllocator;
3031
import jakarta.annotation.PreDestroy;
3132

3233
import java.lang.annotation.Annotation;
@@ -42,7 +43,7 @@ public class DriftNettyClientModule
4243

4344
public DriftNettyClientModule()
4445
{
45-
this(ByteBufAllocator.DEFAULT);
46+
this(PooledByteBufAllocator.DEFAULT);
4647
}
4748

4849
@VisibleForTesting

drift-transport-netty/src/main/java/io/airlift/drift/transport/netty/client/DriftNettyMethodInvokerFactory.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,10 @@
2323
import io.airlift.drift.transport.netty.ssl.SslContextFactory;
2424
import io.airlift.drift.transport.netty.ssl.SslContextFactory.SslContextParameters;
2525
import io.netty.buffer.ByteBufAllocator;
26+
import io.netty.buffer.PooledByteBufAllocator;
2627
import io.netty.channel.EventLoopGroup;
27-
import io.netty.channel.nio.NioEventLoopGroup;
28+
import io.netty.channel.MultiThreadIoEventLoopGroup;
29+
import io.netty.channel.nio.NioIoHandler;
2830
import jakarta.annotation.PreDestroy;
2931

3032
import java.io.Closeable;
@@ -50,7 +52,7 @@ public class DriftNettyMethodInvokerFactory<I>
5052

5153
public static DriftNettyMethodInvokerFactory<?> createStaticDriftNettyMethodInvokerFactory(DriftNettyClientConfig clientConfig)
5254
{
53-
return createStaticDriftNettyMethodInvokerFactory(clientConfig, ByteBufAllocator.DEFAULT);
55+
return createStaticDriftNettyMethodInvokerFactory(clientConfig, PooledByteBufAllocator.DEFAULT);
5456
}
5557

5658
@VisibleForTesting
@@ -63,7 +65,7 @@ public DriftNettyMethodInvokerFactory(
6365
DriftNettyConnectionFactoryConfig factoryConfig,
6466
Function<I, DriftNettyClientConfig> clientConfigurationProvider)
6567
{
66-
this(factoryConfig, clientConfigurationProvider, ByteBufAllocator.DEFAULT);
68+
this(factoryConfig, clientConfigurationProvider, PooledByteBufAllocator.DEFAULT);
6769
}
6870

6971
@VisibleForTesting
@@ -74,7 +76,7 @@ public DriftNettyMethodInvokerFactory(
7476
{
7577
requireNonNull(factoryConfig, "factoryConfig is null");
7678

77-
group = new NioEventLoopGroup(factoryConfig.getThreadCount(), daemonThreadsNamed("drift-client-%s"));
79+
group = new MultiThreadIoEventLoopGroup(factoryConfig.getThreadCount(), daemonThreadsNamed("drift-client-%s"), NioIoHandler.newFactory());
7880

7981
this.clientConfigurationProvider = requireNonNull(clientConfigurationProvider, "clientConfigurationProvider is null");
8082
this.sslContextFactory = createSslContextFactory(true, factoryConfig.getSslContextRefreshTime(), group);

drift-transport-netty/src/main/java/io/airlift/drift/transport/netty/server/DriftNettyServerTransport.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@
2121
import io.airlift.drift.transport.server.ServerTransport;
2222
import io.netty.bootstrap.ServerBootstrap;
2323
import io.netty.buffer.ByteBufAllocator;
24+
import io.netty.buffer.PooledByteBufAllocator;
2425
import io.netty.channel.Channel;
2526
import io.netty.channel.EventLoopGroup;
26-
import io.netty.channel.nio.NioEventLoopGroup;
27+
import io.netty.channel.MultiThreadIoEventLoopGroup;
28+
import io.netty.channel.nio.NioIoHandler;
2729
import io.netty.channel.socket.nio.NioServerSocketChannel;
2830
import io.netty.handler.ssl.SslContext;
2931
import io.netty.util.concurrent.Future;
@@ -56,7 +58,7 @@ public class DriftNettyServerTransport
5658

5759
public DriftNettyServerTransport(ServerMethodInvoker methodInvoker, DriftNettyServerConfig config)
5860
{
59-
this(methodInvoker, config, ByteBufAllocator.DEFAULT);
61+
this(methodInvoker, config, PooledByteBufAllocator.DEFAULT);
6062
}
6163

6264
@VisibleForTesting
@@ -66,9 +68,9 @@ public DriftNettyServerTransport(ServerMethodInvoker methodInvoker, DriftNettySe
6668
requireNonNull(config, "config is null");
6769
this.port = config.getPort();
6870

69-
ioGroup = new NioEventLoopGroup(config.getIoThreadCount(), threadsNamed("drift-server-io-%s"));
71+
ioGroup = new MultiThreadIoEventLoopGroup(config.getIoThreadCount(), threadsNamed("drift-server-io-%s"), NioIoHandler.newFactory());
7072

71-
workerGroup = new NioEventLoopGroup(config.getWorkerThreadCount(), threadsNamed("drift-server-worker-%s"));
73+
workerGroup = new MultiThreadIoEventLoopGroup(config.getWorkerThreadCount(), threadsNamed("drift-server-worker-%s"), NioIoHandler.newFactory());
7274

7375
Optional<Supplier<SslContext>> sslContext = Optional.empty();
7476
if (config.isSslEnabled()) {
@@ -101,6 +103,7 @@ public DriftNettyServerTransport(ServerMethodInvoker methodInvoker, DriftNettySe
101103
.childHandler(serverInitializer)
102104
.option(SO_BACKLOG, config.getAcceptBacklog())
103105
.option(ALLOCATOR, allocator)
106+
.childOption(ALLOCATOR, allocator)
104107
.childOption(SO_KEEPALIVE, true)
105108
.validate();
106109
}

drift-transport-netty/src/main/java/io/airlift/drift/transport/netty/server/DriftNettyServerTransportFactory.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import io.airlift.drift.transport.server.ServerTransport;
2121
import io.airlift.drift.transport.server.ServerTransportFactory;
2222
import io.netty.buffer.ByteBufAllocator;
23+
import io.netty.buffer.PooledByteBufAllocator;
2324

2425
import static java.util.Objects.requireNonNull;
2526

@@ -31,7 +32,7 @@ public class DriftNettyServerTransportFactory
3132

3233
public DriftNettyServerTransportFactory(DriftNettyServerConfig config)
3334
{
34-
this(config, ByteBufAllocator.DEFAULT);
35+
this(config, PooledByteBufAllocator.DEFAULT);
3536
}
3637

3738
@Inject

0 commit comments

Comments
 (0)