[prev in list] [next in list] [prev in thread] [next in thread] 

List:       activemq-dev
Subject:    [jira] [Commented] (AMQ-4920) AmqpErrorException occurs with multiple concurrent amqp topic consumer
From:       "Kevin Earls (JIRA)" <jira () apache ! org>
Date:       2014-03-31 15:33:15
Message-ID: JIRA.12682879.1386241895281.36763.1396279995306 () arcas
[Download RAW message or body]


    [ https://issues.apache.org/jira/browse/AMQ-4920?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13955299#comment-13955299 \
] 

Kevin Earls commented on AMQ-4920:
----------------------------------

Unfortunately there's no workaround in 5.9, you'd need to use a 5.10-SNAPSHOT.

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic