activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark Gellings (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AMQ-1763) Acknowledgment of Messages consumed from VirtualTopic consumer queues fails
Date Wed, 01 Jul 2009 16:28:07 GMT

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


Mime
View raw message