This is an automated email from the ASF dual-hosted git repository. richardstartin pushed a commit to branch revert-8160-tser-threadsafe in repository https://gitbox.apache.org/repos/asf/pinot.git
commit e5746b0569bf9076fea893f22a85ac86824dad36 Author: Richard Startin <rich...@startree.ai> AuthorDate: Wed Feb 9 07:28:05 2022 +0000 Revert "Fix regression bug caused by sharing TSerializer across multiple threads (#8160)" This reverts commit e4e5c6db611022bf721c33dc07d073fceac528b6. --- .../main/java/org/apache/pinot/core/transport/ServerChannels.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pinot-core/src/main/java/org/apache/pinot/core/transport/ServerChannels.java b/pinot-core/src/main/java/org/apache/pinot/core/transport/ServerChannels.java index 2bc06a3..2e6a77c 100644 --- a/pinot-core/src/main/java/org/apache/pinot/core/transport/ServerChannels.java +++ b/pinot-core/src/main/java/org/apache/pinot/core/transport/ServerChannels.java @@ -56,9 +56,7 @@ public class ServerChannels { public static final String CHANNEL_LOCK_TIMEOUT_MSG = "Timeout while acquiring channel lock"; private final QueryRouter _queryRouter; private final BrokerMetrics _brokerMetrics; - // TSerializer currently is not thread safe, must be put into a ThreadLocal. - private final ThreadLocal<TSerializer> _threadLocalTSerializer = - ThreadLocal.withInitial(() -> new TSerializer(new TCompactProtocol.Factory())); + private final TSerializer _serializer = new TSerializer(new TCompactProtocol.Factory()); private final ConcurrentHashMap<ServerRoutingInstance, ServerChannel> _serverToChannelMap = new ConcurrentHashMap<>(); private final EventLoopGroup _eventLoopGroup = new NioEventLoopGroup(); private final TlsConfig _tlsConfig; @@ -89,7 +87,7 @@ public class ServerChannels { public void sendRequest(String rawTableName, AsyncQueryResponse asyncQueryResponse, ServerRoutingInstance serverRoutingInstance, InstanceRequest instanceRequest, long timeoutMs) throws Exception { - byte[] requestBytes = _threadLocalTSerializer.get().serialize(instanceRequest); + byte[] requestBytes = _serializer.serialize(instanceRequest); _serverToChannelMap.computeIfAbsent(serverRoutingInstance, ServerChannel::new) .sendRequest(rawTableName, asyncQueryResponse, serverRoutingInstance, requestBytes, timeoutMs); } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org