IllegalArgumentException-Subscripiton does not exist when client disconnects
-----------------------------------------------------------------------------
Key: AMQ-1711
URL: https://issues.apache.org/activemq/browse/AMQ-1711
Project: ActiveMQ
Issue Type: Bug
Affects Versions: 4.1.1
Reporter: Howard Orner
When a client disconnects in a Network of Brokers configuration, it is possible
for an IllegalArgumentException to be thrown from
org.apache.activemq.broker.region.AbstractRegion.acknowlege() due to a race
condition between message processing and disconnect subscription clean-up. It
is easily reproducable by putting two brokers in a Network of Brokers
configuration (We will call them A and B). If you publish message at a high
rate to broker A (I found that if I published messages at the rate of 1 every
10ms this happened consistantly -- better hardware may require a high rate so I
recommend pushing message as fast as possible), put a subscriber on broker B
(my subscriber used selectors but I don't think that makes a difference), and
kill the subscriber process (I don't know if a friendly disconnect behaves
better), Broker A will throw an exception and disconnect broker B perminately
from the NOB configuration. All future connections to broker B will not
received messages published to A.
I found that if I changed AbstractRegion.acknowledge to log the error, but not
throw an exception that it solved the problem with seemly no ill effects.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.