You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Bruce Snyder (JIRA)" <ji...@apache.org> on 2010/09/18 18:43:54 UTC

[jira] Updated: (AMQ-2459) MasterBroker logs the same 'Slave Failed' error for all exceptions, whether or not the Master/Slave connection has been terminated

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

Bruce Snyder updated AMQ-2459:
------------------------------

    Fix Version/s: 5.5.0
                       (was: 5.4.1)

> MasterBroker logs the same 'Slave Failed' error for all exceptions, whether or not the Master/Slave connection has been terminated
> ----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-2459
>                 URL: https://issues.apache.org/activemq/browse/AMQ-2459
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.2.0, 5.3.0
>            Reporter: Kyle Anderson
>            Priority: Minor
>             Fix For: 5.5.0
>
>   Original Estimate: 30 minutes
>  Remaining Estimate: 30 minutes
>
> The sendSyncToSlave method of MasterBroker on line 393 logs a 'Slave Failed' error if the slave returns an exception response for a particular replicated command.
> This doesn't cause master/slave communication to stop, but it's the same error that's logged when a slave dies.  This can cause some confusion.
> I found this issue pops up when recovering a master from a slave's data directory.
> 1. Create a producer & consumer on the master/slave (where master is set to wait for slave)
> 2. Send a few messages to the master/slave
> 3. Kill the master/slave, and recover from the slave's data directory, and restart them
> 4. Receive messages on the consumer (whose failover connection was waiting for the master/slave during the recovery)
> Any messages that were pre-fetched on the consumer will cause the master to report that the Slave Failed with "Could not correlate acknowledgment with dispatched message".  Perhaps this points to an issue in PrefetchSubscription too - but aside from the initial noise, the recovery works as expected  with no message loss.
> Incidentally, I would think that while the exception repose from sendSyncToSlave shouldn't stop the MasterBroker, the catch all (on line 395) should stop processing the same way that a sendAsyncToSlave failure does.

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