You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Frank Gynnild (Reopened) (JIRA)" <ji...@apache.org> on 2012/03/09 18:16:57 UTC

[jira] [Reopened] (AMQNET-369) Seems like there is a race condition that can lead to an InvalidDestinationException for tempoary queues after failover has resumed

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

Frank Gynnild reopened AMQNET-369:
----------------------------------


Re-tested with latest trunk version of the AMQ.NET library, but again I reproduce this behavior unfortunately:

1) Start message bus.
2) Connect client A.
3) Connect client B.
4) Sending request from A to B.
5) B receives it and send response to A.

6) Restart the message bus twice.

7) Failover kicks in for Client A.
8) Failover kicks in for Client B.
9) Client A sends message to client B.
10) Client B receives it.
11) Client B fails to send a response to Client A:
{code}
Apache.NMS.InvalidDestinationException: Cannot publish to a deleted Destination: temp-queue://ID:DEV-124-62337-634669132031059971-1:0:1
   at Apache.NMS.ActiveMQ.Session.DoSend(ActiveMQDestination destination, ActiveMQMessage message, MessageProducer producer, MemoryUsage producerWindow, TimeSpan sendTimeout)
   at Apache.NMS.ActiveMQ.MessageProducer.Send(IDestination destination, IMessage message, MsgDeliveryMode deliveryMode, MsgPriority priority, TimeSpan timeToLive, Boolean specifiedTimeToLive)
   at Apache.NMS.ActiveMQ.MessageProducer.Send(IMessage message)
   at InfoFinder.Framework.Communication.CommandTransceiver.SendCommand[T](IMessageProducer producer, T cmd, IDestination destination, TimeSpan timeToLive)
{code}

So AFAIK, failover and temporary queues are still a no-go.
                
> Seems like there is a race condition that can lead to an InvalidDestinationException for tempoary queues after failover has resumed
> -----------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQNET-369
>                 URL: https://issues.apache.org/jira/browse/AMQNET-369
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>    Affects Versions: 1.5.3
>            Reporter: Frank Gynnild
>            Assignee: Jim Gomes
>             Fix For: 1.5.4, 1.6.0
>
>
> If I repeat the test below I sometimes get a:
> Apache.NMS.InvalidDestinationException: Cannot publish to a deleted Destination: temp-queue://ID:Duracell-61594-634642411329432145-1:0:1
> Test:
> 1. Start Message bus
> 2. Start server code.
> 3. Stop Message bus
> 4. Start Message bus
> 5. Start client code.
> The client/server uses the request/response pattern.
> I don't have a unit test since it doesn't happen all the time. But if happens often enough that I am sure there is a race condition bug here
> somewhere. And I think it's in NMS since I can see these log lines:
> AdvisoryConsumer adding: temp-queue://ID:Duracell-61594-634642411329432145-1:0:1
> ...Get InvalidDestinationException here...
> AdvisoryConsumer removing: temp-queue://ID:Duracell-61594-634642411329432145-1:0:1

--
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