[ 
https://issues.apache.org/jira/browse/IMPALA-15257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18116493#comment-18116493
 ] 

ASF subversion and git services commented on IMPALA-15257:
----------------------------------------------------------

Commit 1b70732a9904d652900bcb94e430cd965e7dfe44 in impala's branch 
refs/heads/master from Jiyoung Yoo
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=1b70732a9 ]

IMPALA-15257: Add option to use keepalive for internal cluster Thrift 
connections

External Thrift connections and internal KRPC traffic support TCP keepalive,
but internal Thrift connections previously had no keepalive tuning.

This patch adds TCP keepalive tuning for both internal Thrift clients
and servers using three new flags (matching default KRPC settings):
- internal_keepalive_probe_period_s (default: 60)
- internal_keepalive_retry_period_s (default: 3)
- internal_keepalive_retry_count (default: 10)

Implementation details:
- Enabled keepalive on internal ThriftServerBuilder instances
  (CatalogService, StatestoreSubscriber, StatestoreService, 
StatestoreHaService).
- Applied keepalive socket options in ThriftClientImpl::Open().
- Failures are logged as warnings and do not break connection establishment.

Testing:
- Added tests/custom_cluster/test_internal_keepalive.py
- Passed core tests (Debug/ASAN)

Assisted-by: Claude (Opus)

Change-Id: If9fec7a02b2c5ef92e8b68de9e3993bcee7bc898
Reviewed-on: http://gerrit.cloudera.org:8080/24786
Reviewed-by: Impala Public Jenkins <[email protected]>
Tested-by: Impala Public Jenkins <[email protected]>


> Add option to use keepalive for internal cluster Thrift connections
> -------------------------------------------------------------------
>
>                 Key: IMPALA-15257
>                 URL: https://issues.apache.org/jira/browse/IMPALA-15257
>             Project: IMPALA
>          Issue Type: Task
>          Components: Distributed Exec
>    Affects Versions: Impala 5.0.0
>            Reporter: Joe McDonnell
>            Assignee: Jiyoung Yoo
>            Priority: Major
>             Fix For: Impala 5.0.0
>
>
> External connections to clients use TCP keepalive to detect a dead client, 
> but internal communication over Thrift (e.g. coordinator to catalogd) does 
> not. Keepalive should not be necessary for these internal connections, but 
> using keepalive would make the cluster more resilient to unexpected network 
> conditions. If the network connection somehow gets dropped silently, it could 
> take some time before it times out. Keepalive can detect it faster or even 
> keep it open if it is being closed due to idleness.
> Unlike the support added in IMPALA-13253, this would be bidirectional, 
> applying to the client sockets as well as server sockets.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to