[ 
https://issues.apache.org/activemq/browse/AMQ-1763?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=52619#action_52619
 ] 

Mark Gellings commented on AMQ-1763:
------------------------------------

Thanks for you effort and quick response to this Gary.

The reason the above test may be passing is because you are using the same 
connection when instantiating the consumers.

The issue is when a subsequent connection is made (or consumer is disposed) the 
messages get redelivered.  They do not get redelivered on the same connection.  
The broker just spits out the error as mentioned in the original post of the 
reporter.  The next connection the broker redelivers the same messages.  The 
pattern repeats.

As you suggested, I've attached a patch (testPatch.patch) to extend this test 
and ConsumerBean to try and replicate the issue.  

I'm a .NET programmer so I have replicated the problem with ActiveMQ NMS 
similar to how the patch does.  So forgive me if there are any syntactical 
errors in the java code.  :(  The logic should be correct though and hopefully 
we can trigger the error.

If we can trigger it, fix it, and bump this issue to 5.3 that would be great!  
:)

Please keep me informed on how it goes.

PS Also note the reporter attached the broker configuration and the test 
classes he used to trigger this error.



> Acknowledgment of Messages consumed from VirtualTopic consumer queues fails
> ---------------------------------------------------------------------------
>
>                 Key: AMQ-1763
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1763
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.1.0
>         Environment: Windows XP, Java(TM) SE Runtime Environment (build 
> 1.6.0_06-b02)
>            Reporter: Konrad Podloucky
>             Fix For: 5.4.0
>
>         Attachments: test.xml, TestConsumer.java, testPatch.patch, 
> TestProducer.java
>
>
> The Message Broker throws an exception each time a client tries to 
> acknowledge a message consumed from a  VirtualTopic consumer queue:
> ERROR Service                        - Async error occurred: 
> java.lang.IllegalArgumentException: The subscription does not exist: 
> ID:seautpc271-1314-1212495185267-0:0:1:1
> java.lang.IllegalArgumentException: The subscription does not exist: 
> ID:seautpc271-1314-1212495185267-0:0:1:1
>         at 
> org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:357)
>         at 
> org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:470)
>         at 
> org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:194)
>         at 
> org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:73)
>         at 
> org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:73)
>         at 
> org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:84)
>         at 
> org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:443)
>         at org.apache.activemq.command.MessageAck.visit(MessageAck.java:196)
>         at 
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:292)
>         at 
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:180)
>         at 
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
>         at 
> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
>         at 
> org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
>         at 
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
>         at 
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:196)
>         at 
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:183)
>         at java.lang.Thread.run(Thread.java:619)
> Consequently the message gets re-delivered as soon as the client connects to 
> the queue again (and fails again on aknowledgement). Strangely enough the 
> subscription mentioned in the exception is visible in the JMX console. I can 
> reproduce this error every time I try to consume from VirtualTopic consumer 
> queues.
> I have attached the broker configuration (which is rather minimal) and the 
> test classes I used to trigger this error.

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