[
https://issues.apache.org/jira/browse/KAFKA-2779?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rajini Sivaram updated KAFKA-2779:
----------------------------------
Status: Patch Available (was: Open)
Move socket close to finally block to avoid leaking file descriptors when
graceful close message cannot be sent because remote end has already closed the
connection.
> Kafka SSL transport layer leaks file descriptors
> ------------------------------------------------
>
> Key: KAFKA-2779
> URL: https://issues.apache.org/jira/browse/KAFKA-2779
> Project: Kafka
> Issue Type: Bug
> Components: network
> Affects Versions: 0.9.0.0
> Reporter: Rajini Sivaram
> Assignee: Rajini Sivaram
> Priority: Critical
>
> There is currently no transition from read() to close() in SslTransportLayer
> to handle graceful shutdown requests. As a result, Kafka SSL connections are
> never shutdown gracefully. In addition to this, close() does not handle
> ungraceful termination of connections correctly. If flush() fails because the
> other end has performed a close (eg. because graceful termination was not
> handled), Kafka prints out a warning and does not close the socket. This
> leaks file descriptors.
> We are seeing a large number of open file descriptors because our health
> checks to Kafka result in connections that are neither terminated gracefully
> nor closed correctly.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)