impala-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Impala Public Jenkins (Code Review)" <>
Subject [Impala-ASF-CR] IMPALA-5394: Change ThriftServer() to always use TAcceptQueueServer
Date Thu, 05 Oct 2017 02:26:02 GMT
Impala Public Jenkins has submitted this change and it was merged. (

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
    - 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()
- 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.
  - The timeout is still needed in TAcceptQueueServer since
    SetupConnection follows a similar pattern that TThreadPoolServer
- Removed support for TThreadPool from ThriftServer() since it is
  no longer used anywhere. ThriftServer() now always uses
- Deprecated enable_accept_queue_server flag and removed supporting

Change-Id: I56a5f3d9cf931cff14eae7f236fea018236a6255
Reviewed-by: Sailesh Mukil <>
Tested-by: Impala Public Jenkins
M be/src/benchmarks/
M be/src/common/
M be/src/rpc/TAcceptQueueServer.cpp
M be/src/rpc/TAcceptQueueServer.h
M be/src/rpc/
M be/src/rpc/
M be/src/rpc/thrift-server.h
M be/src/service/
M be/src/transport/TSaslServerTransport.cpp
M common/thrift/metrics.json
10 files changed, 157 insertions(+), 110 deletions(-)

  Sailesh Mukil: Looks good to me, approved
  Impala Public Jenkins: Verified

To view, visit
To unsubscribe, visit

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I56a5f3d9cf931cff14eae7f236fea018236a6255
Gerrit-Change-Number: 7061
Gerrit-PatchSet: 14
Gerrit-Owner: John Sherman <>
Gerrit-Reviewer: Dan Hecht <>
Gerrit-Reviewer: Henry Robinson <>
Gerrit-Reviewer: Impala Public Jenkins
Gerrit-Reviewer: John Sherman <>
Gerrit-Reviewer: Matthew Jacobs <>
Gerrit-Reviewer: Michael Brown <>
Gerrit-Reviewer: Sailesh Mukil <>
Gerrit-Reviewer: Taras Bobrovytsky <>

  • Unnamed multipart/alternative (inline, 8-Bit, 0 bytes)
View raw message