You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "clebert suconic (JIRA)" <ji...@apache.org> on 2017/02/10 03:17:41 UTC

[jira] [Comment Edited] (ARTEMIS-955) Artemis does not handle message with an integer as the body on topics

    [ https://issues.apache.org/jira/browse/ARTEMIS-955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15860618#comment-15860618 ] 

clebert suconic edited comment on ARTEMIS-955 at 2/10/17 3:17 AM:
------------------------------------------------------------------

Do you need to use AMQP now? Can you try the artemis core client?


I'm doing some refactoring on the broker that will make these sorts of translations more natural.


was (Author: clebertsuconic):
Do you need to use AMQP now? Can you try the artemis core client?


I'm doing some refactoring on AMQP that will make these sorts of translations more natural.

> Artemis does not handle message with an integer as the body on topics
> ---------------------------------------------------------------------
>
>                 Key: ARTEMIS-955
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-955
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: AMQP
>    Affects Versions: 1.5.1, 1.5.x
>            Reporter: Harrison Tarr
>            Priority: Minor
>
> When sending a message that contains only an integer as the body to a topic with multiple subscribers, the messages fail to be consumed.
>  I have written some code that can replicate the problem. It is based off of the `activemq-artemis` topic example. It can be found at https://github.com/apache/activemq-artemis/compare/master...harrison-tarr:artemis-integer-message. To toggle "working" and "failing" behavior back and forth, there is a block of code at lines 83/84 and 88/89. If the comments on those blocks are switched, artemis will exhibit working behavior.
> The exception seems to be: 
> ```server-out:13:47:32,611 WARN  [org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext] readerIndex(25) + length(81) exceeds writerIndex(102): UnpooledDuplicatedByteBuf(ridx: 25, widx: 102, cap: 512, unwrapped: UnpooledUnsafeHeapByteBuf(ridx: 17, widx: 17, cap: 512)): java.lang.IndexOutOfBoundsException: readerIndex(25) + length(81) exceeds writerIndex(102): UnpooledDuplicatedByteBuf(ridx: 25, widx: 102, cap: 512, unwrapped: UnpooledUnsafeHeapByteBuf(ridx: 17, widx: 17, cap: 512))
> server-out:	at io.netty.buffer.AbstractByteBuf.checkReadableBytes0(AbstractByteBuf.java:1395) [netty-all-4.1.5.Final.jar:4.1.5.Final]
> server-out:	at io.netty.buffer.AbstractByteBuf.checkReadableBytes(AbstractByteBuf.java:1389) [netty-all-4.1.5.Final.jar:4.1.5.Final]
> server-out:	at io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:850) [netty-all-4.1.5.Final.jar:4.1.5.Final]
> server-out:	at io.netty.buffer.AbstractByteBuf.readBytes(AbstractByteBuf.java:858) [netty-all-4.1.5.Final.jar:4.1.5.Final]
> server-out:	at io.netty.buffer.WrappedByteBuf.readBytes(WrappedByteBuf.java:649) [netty-all-4.1.5.Final.jar:4.1.5.Final]
> server-out:	at org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper.readBytes(ChannelBufferWrapper.java:331) [artemis-commons-1.6.0-SNAPSHOT.jar:1.6.0-SNAPSHOT]
> server-out:	at org.apache.activemq.artemis.protocol.amqp.converter.jms.ServerJMSObjectMessage.decode(ServerJMSObjectMessage.java:68) [artemis-amqp-protocol-1.6.0-SNAPSHOT.jar:]
> server-out:	at org.apache.activemq.artemis.protocol.amqp.converter.ProtonMessageConverter.outbound(ProtonMessageConverter.java:89) [artemis-amqp-protocol-1.6.0-SNAPSHOT.jar:]
> server-out:	at org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback.encodeMessage(AMQPSessionCallback.java:272) [artemis-amqp-protocol-1.6.0-SNAPSHOT.jar:]
> server-out:	at org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext.deliverMessage(ProtonServerSenderContext.java:477) [artemis-amqp-protocol-1.6.0-SNAPSHOT.jar:]
> server-out:	at org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback.sendMessage(AMQPSessionCallback.java:449) [artemis-amqp-protocol-1.6.0-SNAPSHOT.jar:]
> server-out:	at org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.deliverStandardMessage(ServerConsumerImpl.java:1019) [artemis-server-1.6.0-SNAPSHOT.jar:1.6.0-SNAPSHOT]
> server-out:	at org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.proceedDeliver(ServerConsumerImpl.java:415) [artemis-server-1.6.0-SNAPSHOT.jar:1.6.0-SNAPSHOT]
> server-out:	at org.apache.activemq.artemis.core.server.impl.QueueImpl.proceedDeliver(QueueImpl.java:2551) [artemis-server-1.6.0-SNAPSHOT.jar:1.6.0-SNAPSHOT]
> server-out:	at org.apache.activemq.artemis.core.server.impl.QueueImpl.deliver(QueueImpl.java:2052) [artemis-server-1.6.0-SNAPSHOT.jar:1.6.0-SNAPSHOT]
> server-out:	at org.apache.activemq.artemis.core.server.impl.QueueImpl.access$1700(QueueImpl.java:101) [artemis-server-1.6.0-SNAPSHOT.jar:1.6.0-SNAPSHOT]
> server-out:	at org.apache.activemq.artemis.core.server.impl.QueueImpl$DeliverRunner.run(QueueImpl.java:2783) [artemis-server-1.6.0-SNAPSHOT.jar:1.6.0-SNAPSHOT]
> server-out:	at org.apache.activemq.artemis.utils.OrderedExecutorFactory$OrderedExecutor$ExecutorTask.run(OrderedExecutorFactory.java:101) [artemis-commons-1.6.0-SNAPSHOT.jar:1.6.0-SNAPSHOT]
> server-out:	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_102]
> server-out:	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_102]
> server-out:	at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_102]
> ```



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)