[ https://issues.apache.org/jira/browse/AMQ-5692?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Torsten Mielke updated AMQ-5692: -------------------------------- Attachment: AMQ-5692.pl > Inactivity monitor does not time out on stuck socket writes > ------------------------------------------------------------ > > Key: AMQ-5692 > URL: https://issues.apache.org/jira/browse/AMQ-5692 > Project: ActiveMQ > Issue Type: Improvement > Components: Broker > Affects Versions: 5.11.1 > Reporter: Torsten Mielke > Labels: broker, inactivity > Attachments: AMQ-5692.pl > > > It is possible that a socket write is stuck but the inactivity monitor > currently does not time out on a socketWrite. > {code:title=AbstractInactivityMonitor.java} > final void writeCheck() { > if (inSend.get()) { > LOG.trace("Send in progress. Skipping write check."); > return; > } > {code} > As a result a connection that is stuck in a tcp write will never be taken > down due to inactivity. If a client misbehaves the broker will not be able to > clear that connection as part of the inactivity monitoring. > Now AMQ-2511 introduced a counter on the reachCheck() to detect it a socket > read in progress really retrieves data or is stuck. > I propose for a similar mechanism being applied on the writeCheck() operation > so that a socket write that is stuck can be detected and the connection can > be closed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)