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.

Reply via email to