activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rob Davies (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (AMQ-771) org.apache.activemq.broker.TransportConnection::stop should not attempt to send a message over the connection.
Date Thu, 01 Mar 2007 22:35:03 GMT

     [ https://issues.apache.org/activemq/browse/AMQ-771?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Rob Davies resolved AMQ-771.
----------------------------

       Resolution: Fixed
    Fix Version/s: 4.2.0

this should be resolved now

> org.apache.activemq.broker.TransportConnection::stop should not attempt to send a message
over the connection.
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-771
>                 URL: https://issues.apache.org/activemq/browse/AMQ-771
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Connector
>    Affects Versions: 4.0, 4.0.1
>            Reporter: Kevin Yaussy
>         Assigned To: Rob Davies
>             Fix For: 4.2.0
>
>
> Especially when using "failover", there can be a problem with respect to TransportConnection::stop
attempting to send a "shutdown" message over the connection.  If another thread is sending
messages to the connection, and it gets stuck for some reason, such as a network freeze, the
target machine panics, or the target process freezes for some reason, the TransportConnection::dispatch
will eventually block, locking the MutextTransport object.  When the InactivityMonitor wakes
up and detects that the connection is dead, it will go through the process of stopping the
connection.  This goes back into TransportConnection, and calls stop, which attemtps to lock
the MutexTransport so it can send the "shutdown" command.  Now, both threads are stuck, potentially
for a long time, as a box panic will not cleanly close the tcp connection.
> I'm not sure the rationale for wanting to send a shutdown command to the other side of
the connection, since the target has to handle the connection going down hard anyway.  Seems
to me, if you are intending on closing the connection, just close it - don't try to be nice
to the other side.  Especially in this code path, there is something wrong with the other
side anyway.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message