activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Torsten Mielke (JIRA)" <j...@apache.org>
Subject [jira] [Created] (AMQ-5692) Inactivity monitor does not time out on stuck socket writes
Date Fri, 27 Mar 2015 13:00:56 GMT
Torsten Mielke created AMQ-5692:
-----------------------------------

             Summary:  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


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)

Mime
View raw message