From 8c3f7e2eccf2e326c1f20b8ba9e1a12646a0cbd4 Mon Sep 17 00:00:00 2001 From: Andrew Steinborn Date: Sun, 1 Dec 2019 15:17:17 -0500 Subject: [PATCH] Optimize DNS resolution logic for AsyncHttpClient --- .../DnsAddressResolverGroupNameResolverAdapter.java | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/proxy/src/main/java/com/velocitypowered/proxy/network/netty/DnsAddressResolverGroupNameResolverAdapter.java b/proxy/src/main/java/com/velocitypowered/proxy/network/netty/DnsAddressResolverGroupNameResolverAdapter.java index f76a160c9..169b60a49 100644 --- a/proxy/src/main/java/com/velocitypowered/proxy/network/netty/DnsAddressResolverGroupNameResolverAdapter.java +++ b/proxy/src/main/java/com/velocitypowered/proxy/network/netty/DnsAddressResolverGroupNameResolverAdapter.java @@ -7,6 +7,7 @@ import io.netty.util.concurrent.EventExecutor; import io.netty.util.concurrent.FutureListener; import io.netty.util.concurrent.ImmediateEventExecutor; import io.netty.util.concurrent.Promise; +import io.netty.util.internal.ThreadExecutorMap; import java.net.InetAddress; import java.net.InetSocketAddress; import java.util.ArrayList; @@ -61,13 +62,7 @@ public class DnsAddressResolverGroupNameResolverAdapter extends InetNameResolver } private EventExecutor findExecutor() { - for (EventExecutor executor : group) { - if (executor.inEventLoop()) { - return executor; - } - } - - // otherwise, pick one - return group.next(); + EventExecutor current = ThreadExecutorMap.currentExecutor(); + return current == null ? group.next() : current; } }