activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Timothy Bish (JIRA)" <>
Subject [jira] [Closed] (AMQ-5273) Problem handling connections from multiple AMQP clients in ActiveMQ
Date Thu, 10 Jul 2014 22:20:04 GMT


Timothy Bish closed AMQ-5273.

       Resolution: Duplicate
    Fix Version/s: 5.11.0

This has already been fixed on trunk.  

> Problem handling connections from multiple AMQP clients in ActiveMQ
> -------------------------------------------------------------------
>                 Key: AMQ-5273
>                 URL:
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: AMQP
>    Affects Versions: 5.10.0
>            Reporter: Jesse Fugitt
>            Priority: Critical
>              Labels: AMQP
>             Fix For: 5.11.0
>         Attachments:, amqp_connection_race.patch, org.apache.activemq.transport.amqp.AMQ5273Test-output.txt
> When multiple AMQP clients try to connect to the broker at exactly the same time, the
broker can end up in a state where it gets an AMQP parsing error during the connection handshake
and then all future AMQP connections fail until the broker is stopped.  This was reproduced
with C proton clients and QPID JMS clients but it seemed to depend on the speed of the machine
where the broker was running and the network speed to ensure that the timing window would
be hit.  Turning on remote debugging in the ActiveMQ startup script made it happen much more
frequently.  The QPID JMS clients end up staying hung in the function
and the C proton clients return a SASL error.  Code analysis in the broker appeared to point
to an incorrect use of static for the list data structure in the AMQPProtocolDiscriminator
class.  I am planning to attach  a patch and unit test that demonstrate the behavior as well
as some logs.  The unit test fails with a "timeout" as all of the threads get hung when attempting
to make connection and seems to require the following MAVEN_OPTS to be set to see it fail
> export MAVEN_OPTS="-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
> When running the broker in console mode, the following would be output for each failed
client connection attempt:
> Could not decode AMQP frame: hex: 0000002102010000005341d00000001100000002a309414e4f4e594d4f5553a000

This message was sent by Atlassian JIRA

View raw message