Hello Henry Robinson, Michael Brown, Matthew Jacobs, Sailesh Mukil, Dan Hecht,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/7061
to look at the new patch set (#11).
Change subject: IMPALA-5394: Change ThriftServer() to always use
TAcceptQueueServer
......................................................................
IMPALA-5394: Change ThriftServer() to always use TAcceptQueueServer
- Previously TThreadPoolServer called getTransport() on a client from
the Server thread (the thread that did the accepts).
- TSaslServerTransport->getTransport() called TSaslTransport->open()
- TSaslServerTransport->open() tried to negotiate SASL which calls
read/write
- If read/write blocks indefinitely, the TThreadPoolServer could
not accept connections until tcp_keepalive kicked in.
- 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)
- Add the ability for TAcceptQueueServer to limit the maximum
number of concurrent tasks
- Added a test case to thrift-server-test to test
max_concurrent_connections enforcement
- Changed the remaining Thrift servers to use TAcceptQueueServer.
(hs2/beeswax/network-perf-benchmark)
- The timeout is still needed in TAcceptQueueServer since
SetupConnection follows a similar pattern that TThreadPoolServer
does.
- Removed support for TThreadPool from ThriftServer() since it is
no longer used anywhere. ThriftServer() now always uses
TAcceptQueueServer.
- Deprecated enable_accept_queue_server flag and removed supporting
code.
Change-Id: I56a5f3d9cf931cff14eae7f236fea018236a6255
---
M be/src/benchmarks/network-perf-benchmark.cc
M be/src/common/global-flags.cc
M be/src/rpc/TAcceptQueueServer.cpp
M be/src/rpc/TAcceptQueueServer.h
M be/src/rpc/thrift-server-test.cc
M be/src/rpc/thrift-server.cc
M be/src/rpc/thrift-server.h
M be/src/service/impala-server.cc
M be/src/transport/TSaslServerTransport.cpp
M common/thrift/metrics.json
10 files changed, 157 insertions(+), 110 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/61/7061/11
--
To view, visit http://gerrit.cloudera.org:8080/7061
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I56a5f3d9cf931cff14eae7f236fea018236a6255
Gerrit-Change-Number: 7061
Gerrit-PatchSet: 11
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: Michael Brown <[email protected]>
Gerrit-Reviewer: Sailesh Mukil <[email protected]>