John Sherman has uploaded a new patch set (#3). Change subject: IMPALA-5394: Handle blocked HS2 connections ......................................................................
IMPALA-5394: Handle blocked HS2 connections - TThreadPoolServer calls getTransport() on a client from the Server thread (the thread that does the accepts). - TSaslServerTransport->getTransport() calls TSaslTransport->open() - TSaslServerTransport->open() tries to negotiate SASL which calls read/write - If read/write blocks, the TThreadPoolServer cannot accept connections - Set the underlying TSocket's recvTimeout and sendTimeout before the TSaslServerTransport->open() and reset them to 0 after open() completes. - Added sasl_connect_tcp_timeout_ms flag that defaults to 300000 milliseconds (5 minutes) - Changed the Thrift server type for hs2 connections from ThreadPool to Threaded to take advantage of the AcceptQueueServer implementation. - Increased the AcceptQueueServer CONNECTION_SETUP_POOL_SIZE from 1 to 2, so new connections can continue to be accepted if for some reason a connection needs to use the timeout period. Change-Id: I56a5f3d9cf931cff14eae7f236fea018236a6255 --- M be/src/rpc/TAcceptQueueServer.cpp M be/src/service/impala-server.cc M be/src/transport/TSaslServerTransport.cpp M common/thrift/metrics.json 4 files changed, 49 insertions(+), 21 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/61/7061/3 -- To view, visit http://gerrit.cloudera.org:8080/7061 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I56a5f3d9cf931cff14eae7f236fea018236a6255 Gerrit-PatchSet: 3 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: John Sherman <j...@arcadiadata.com> Gerrit-Reviewer: Dan Hecht <dhe...@cloudera.com> Gerrit-Reviewer: Henry Robinson <he...@cloudera.com> Gerrit-Reviewer: John Sherman <j...@arcadiadata.com> Gerrit-Reviewer: Matthew Jacobs <m...@cloudera.com> Gerrit-Reviewer: Sailesh Mukil <sail...@cloudera.com>