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]>

Reply via email to