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

Reply via email to