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 <[email protected]>
Gerrit-Reviewer: Dan Hecht <[email protected]>
Gerrit-Reviewer: Henry Robinson <[email protected]>
Gerrit-Reviewer: John Sherman <[email protected]>
Gerrit-Reviewer: Matthew Jacobs <[email protected]>
Gerrit-Reviewer: Sailesh Mukil <[email protected]>