Riza Suminto has uploaded this change for review. ( http://gerrit.cloudera.org:8080/18938
Change subject: IMPALA-11548: Share same TTransport object for RPC input and output ...................................................................... IMPALA-11548: Share same TTransport object for RPC input and output After the CPP thrift upgrade to version 0.16.0 by IMPALA-11384, we are seeing long-running connections falling with the max message size error. Additional tracing log in the thrift library and TAcceptQueueServer reveals that TTransport's message size counter was continuously decreasing over the lifetime of the connection and was never reset. Further investigation point down to having separate input and output TTransport object in TAcceptQueueServer::SetupConnection as the root cause. This patch fixes the issue by sharing the same TTransport object for both Thrift RPC input and output in TAcceptQueueServer::SetupConnection. Using the same TTransport causes the counter to be decremented and reset on the same object. TSaslTransport had a caching algorithm in TSaslServerTransport::Factory::getTransport() that guaranteed that the underlying transport was shared between input and output. This is no longer necessary and has been removed. Testing: - Pass core tests. Change-Id: I199d6b0c6c62e940e131eb39d38a8a51b36e11c4 --- M be/src/rpc/TAcceptQueueServer.cpp M be/src/transport/TSaslServerTransport.cpp M be/src/transport/TSaslServerTransport.h 3 files changed, 17 insertions(+), 42 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/38/18938/1 -- To view, visit http://gerrit.cloudera.org:8080/18938 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I199d6b0c6c62e940e131eb39d38a8a51b36e11c4 Gerrit-Change-Number: 18938 Gerrit-PatchSet: 1 Gerrit-Owner: Riza Suminto <[email protected]>
