[
https://issues.apache.org/jira/browse/AMQ-3516?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Timothy Bish resolved AMQ-3516.
-------------------------------
Resolution: Fixed
Fix Version/s: 5.6.0
Fix applied along with new tests for this case.
> Failover Transport MessageAck commands aren't filtered in oneway
> ----------------------------------------------------------------
>
> Key: AMQ-3516
> URL: https://issues.apache.org/jira/browse/AMQ-3516
> Project: ActiveMQ
> Issue Type: Bug
> Components: Transport
> Affects Versions: 5.x
> Reporter: Timothy Bish
> Assignee: Timothy Bish
> Priority: Minor
> Fix For: 5.6.0
>
>
> There's some code in FailoverTransport.oneway that was intended to MessageAck
> commands when the transport was in a failed state that will never be called.
> {code}
> if (isShutdownCommand(command) && connectedTransport.get() ==
> null) {
> if (command.isShutdownInfo()) {
> // Skipping send of ShutdownInfo command when not
> // connected.
> return;
> }
> if (command instanceof RemoveInfo ||
> command.isMessageAck()) {
> // Simulate response to RemoveInfo command or ack (as
> it
> // will be stale)
> stateTracker.track(command);
> Response response = new Response();
> response.setCorrelationId(command.getCommandId());
> myTransportListener.onCommand(response);
> return;
> }
> }
> {code}
> The inner if statement that looks for MessageAck will never be reachable
> since a MessageAck is not a RemoveInfo or ShutdownInfo command which is the
> condition for getting into the outer if.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira