Idle session-less connections never time out
--------------------------------------------
Key: ZOOKEEPER-1444
URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1444
Project: ZooKeeper
Issue Type: Bug
Components: server
Affects Versions: 3.4.3, 3.3.2, 3.5.0
Reporter: Jay Shrauner
Assignee: Jay Shrauner
Fix For: 3.5.0
A socket connection to the server on which a session is not created will never
time out. A misbehaving client that opens and leaks connections without
creating sessions will hold open file descriptors on the server.
The existing timeout code is implemented at the session level, but the servers
also should track and expire connections at the connection level. Proposed
solution is to pull the timeout data structure handling code (hashmap of expiry
time to sets of objects, simple monotonically incrementing nextExpirationTime)
from SessionTrackerImpl into its own class in order to share it with connection
level timeouts to be implemented in NIOServerCnxnFactory. Connections can be
assigned a small initial timeout (proposing something small, like 3s) until a
session is created, at which point the ServerCnxn session timeout can be used
instead.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira