[
https://issues.apache.org/jira/browse/AMQ-4920?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13956818#comment-13956818
]
Gurinder edited comment on AMQ-4920 at 4/1/14 6:02 PM:
---
So essentially multiple topic consumers even running from different instances
do not work. This pretty much makes publish-subscribe system unworkable since
in any production environment you would have more than 1 subscriber to the same
topic. Or is there any other way.?
Btw any idea when 5.10 is coming out.
Also is it the broker or client problem?
was (Author: gurilubana):
So essentially multiple topic consumers even running from different instances
do not work. This pretty much makes publish-subscribe system unworkable since
in any production environment you would have more than 1 subscriber to the same
topic. Or is there any other way.?
Btw any idea when 5.10 is coming out
> AmqpErrorException occurs with multiple concurrent amqp topic consumers
> ---
>
> Key: AMQ-4920
> URL: https://issues.apache.org/jira/browse/AMQ-4920
> Project: ActiveMQ
> Issue Type: Bug
>Reporter: Kevin Earls
>Assignee: Kevin Earls
> Attachments: rp.out
>
>
> I'll add a test to reproduce this. There are currently 2 problems. The more
> frequent one looks like: org.apache.qpid.amqp_1_0.type.AmqpErrorException
> at
> org.apache.qpid.amqp_1_0.codec.ValueHandler.readConstructor(ValueHandler.java:99)
> at
> org.apache.qpid.amqp_1_0.codec.ValueHandler.parse(ValueHandler.java:90)
> at
> org.apache.qpid.amqp_1_0.codec.ValueHandler.readConstructor(ValueHandler.java:105)
> at
> org.apache.qpid.amqp_1_0.codec.ValueHandler.parse(ValueHandler.java:90)
> … repeated many times
> at
> org.apache.qpid.amqp_1_0.codec.ValueHandler.readConstructor(ValueHandler.java:105)
> at
> org.apache.qpid.amqp_1_0.codec.ValueHandler.parse(ValueHandler.java:90)
> at
> org.apache.qpid.amqp_1_0.messaging.SectionDecoderImpl.parseAll(SectionDecoderImpl.java:49)
> at org.apache.qpid.amqp_1_0.client.Receiver.receive(Receiver.java:280)
> at
> org.apache.qpid.amqp_1_0.jms.impl.MessageConsumerImpl.receive0(MessageConsumerImpl.java:286)
> at
> org.apache.qpid.amqp_1_0.jms.impl.MessageConsumerImpl.receiveImpl(MessageConsumerImpl.java:255)
> at
> org.apache.qpid.amqp_1_0.jms.impl.MessageConsumerImpl.receive(MessageConsumerImpl.java:238)
> at
> org.apache.qpid.amqp_1_0.jms.impl.MessageConsumerImpl.receive(MessageConsumerImpl.java:56)
> at
> org.apache.activemq.transport.amqp.ENTMQ466ConsumerThread.run(ENTMQ466Test.java:123)
> This occurs at the line "final EncodedMessage amqp =
> outboundTransformer.transform(jms);" in the ConsumerContext.pumpOutbound()
> method of AmqpProtocolConverter(). This call sometimes returns with its
> content (amqp.getArray()) set to all zeros.
> On those messages this line
> LOG.info("In pumpOutbound, setting currentBuffer to offset {} length {}
> content [{}]", amqp.getArrayOffset(), amqp.getLength(), amqp.getArray());
> returns:
> 2013-11-26 17:19:16,680 [calhost] Task-3] - INFO AmqpProtocolConverter - In
> pumpOutbound, setting currentBuffer to offset 0 length 162 content [[0, 0, 0,
> 0, 0, \
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0,\
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0\
> , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]
> At the root of this, outboundTransformer is a (proton)
> AutoOutboundTransformer. It calls AMQPNativeOutboundTransformer.transform(),
> which calls msg.readBytes(data), which sometimes writes all 0s to data. Here
> msg is an ActiveMQBytesMessage.
--
This message was sent by Atlassian JIRA
(v6.2#6252)