[ https://issues.apache.org/jira/browse/QPID-8527?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Clifford Jansen resolved QPID-8527. ----------------------------------- Resolution: Fixed My first attempt at fix was to look at NSS function SSL_DataPending() but the fine print indicates it is not reliable to indicate the presence of unread bytes buffered by the SSL layer. The actual fix unconditionally reschedules another read/decode cycle if the existing one is stopped for a used up time slice (for SslSocket instances only). > Hang in qpidd failing to resume read activity on TLS connections. > ----------------------------------------------------------------- > > Key: QPID-8527 > URL: https://issues.apache.org/jira/browse/QPID-8527 > Project: Qpid > Issue Type: Bug > Components: C++ Broker > Affects Versions: qpid-cpp-1.39.0 > Environment: Posix only. > Reporter: Clifford Jansen > Assignee: Clifford Jansen > Priority: Major > > The Posix AsynchIO implementation imposes a timeslice on read and write > activity to promote resource fairness between AMQP connections. > This mechanism relies on the poller to reschedule the suspended read activity > which it does when it sees unread bytes on the socket. This works for normal > TCP sockets. It can fail for TLS connections if the TLS layer (libnss) has > buffered bytes that are "hidden" from the poller. > The write side doesn't get starved or fail to notice when a socket is > unblocked for writing in the TLS case. > Posix only. The Windows implementation relies on the read and write > completions being fairly evenly distributed between connections. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org