You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zookeeper.apache.org by "Jie Huang (Jira)" <ji...@apache.org> on 2019/10/12 22:50:00 UTC
[jira] [Created] (ZOOKEEPER-3573) Dealing with long TLS connection
closing time without SO_LINGER option
Jie Huang created ZOOKEEPER-3573:
------------------------------------
Summary: Dealing with long TLS connection closing time without SO_LINGER option
Key: ZOOKEEPER-3573
URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3573
Project: ZooKeeper
Issue Type: Improvement
Components: server
Affects Versions: 3.6.0
Reporter: Jie Huang
As described in ZOOKEEPER-3384, with SSL sockets, a close_notify is required to be sent before closing the write side of a connection. When the send buffer is full and the writing is blocked, it will take a long time to send close_notify thus a long time to close the socket. The long closing time on followers with a partitioned-away leader would stall the shutdown process and delay a new leader election to establish a new quorum. As a result, the ensemble would be unavailable for a long time.
In ZOOKEEPER-3384, SO_LINGER option is used to close the socket quickly (and potentially uncleanly). In JDK 11, however, SO_LINGER option is not honored so we need a new way to avoid the long quorum unavailable time.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)