You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2019/08/19 02:25:00 UTC

[jira] [Commented] (ARTEMIS-2437) AMQP message conversion fails if annotations contain values outwith simple property types

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

ASF subversion and git services commented on ARTEMIS-2437:
----------------------------------------------------------

Commit 448f72738b1b7e3f4bc0a757e3905e9c73fb2336 in activemq-artemis's branch refs/heads/master from Timothy Bish
[ https://gitbox.apache.org/repos/asf?p=activemq-artemis.git;h=448f727 ]

ARTEMIS-2437 Allow extended types in annotations in AMQP to Core

When converting from AMQP to core and back again support annotations that
aren't able to be placed into Core message properties by storing the bytes
from encoding the types to AMQP encodings and then decoding them again
when converting back into AMQP messages.

Requires update to proton-j 0.33.2 for encoding fix


> AMQP message conversion fails if annotations contain values outwith simple property types
> -----------------------------------------------------------------------------------------
>
>                 Key: ARTEMIS-2437
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2437
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: AMQP
>    Affects Versions: 2.9.0
>            Reporter: Jiri Daněk
>            Assignee: Timothy Bish
>            Priority: Major
>          Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> {noformat}
> $ bin/artemis browser --destination example
> Consumer:: filter = null
> Consumer ActiveMQQueue[example], thread=0 trying to browse 1000 messages
> [...]
> Consumer ActiveMQQueue[example], thread=0 browsing Alert!!!
> Consumer ActiveMQQueue[example], thread=0 browsed: 4 messages
> Consumer ActiveMQQueue[example], thread=0 Browser thread finished
> {noformat}
> In fact, there is 5 messages in the queue, and probably when browsing last one, the following error is printed to broker stdout.
> {noformat}
> 2019-07-31 15:07:30,742 ERROR [org.apache.activemq.artemis.core.server] AMQ224046: Exception while browser handled from Reference[627]:NON-RELIABLE:AMQPMessage [durable=false, messageID=627, address=example, size=121, applicationProperties=null, properties=Properties{messageId=null, userId=null, to='null', subject='null', replyTo='null', correlationId=null, contentType=null, contentEncoding=null, absoluteExpiryTime=null, creationTime=null, groupId='null', groupSequence=null, replyToGroupId='null'}, extraProperties = TypedProperties[_AMQ_AD=example]]: java.lang.RuntimeException: class java.util.LinkedHashMap is not a valid property type
>         at org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.toCore(AMQPMessage.java:695) [artemis-amqp-protocol-2.9.0.jar:2.9.0]
>         at org.apache.activemq.artemis.core.protocol.core.impl.CoreSessionCallback.sendMessage(CoreSessionCallback.java:123) [artemis-server-2.9.0.jar:2.9.0]
>         at org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.deliverStandardMessage(ServerConsumerImpl.java:1168) [artemis-server-2.9.0.jar:2.9.0]
>         at org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.proceedDeliver(ServerConsumerImpl.java:510) [artemis-server-2.9.0.jar:2.9.0]
>         at org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl$BrowserDeliverer.run(ServerConsumerImpl.java:1484) [artemis-server-2.9.0.jar:2.9.0]
>         at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) [artemis-commons-2.9.0.jar:2.9.0]
>         at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) [artemis-commons-2.9.0.jar:2.9.0]
>         at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:66) [artemis-commons-2.9.0.jar:2.9.0]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [rt.jar:1.8.0_212]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [rt.jar:1.8.0_212]
>         at org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118) [artemis-commons-2.9.0.jar:2.9.0]
> Caused by: org.apache.activemq.artemis.api.core.ActiveMQPropertyConversionException: class java.util.LinkedHashMap is not a valid property type
>         at org.apache.activemq.artemis.utils.collections.TypedProperties.setObjectProperty(TypedProperties.java:1112) [artemis-commons-2.9.0.jar:2.9.0]
>         at org.apache.activemq.artemis.core.message.impl.CoreMessage.putObjectProperty(CoreMessage.java:1014) [artemis-core-client-2.9.0.jar:2.9.0]
>         at org.apache.activemq.artemis.core.message.impl.CoreMessage.putObjectProperty(CoreMessage.java:1030) [artemis-core-client-2.9.0.jar:2.9.0]
>         at org.apache.activemq.artemis.core.message.impl.CoreMessage.putObjectProperty(CoreMessage.java:53) [artemis-core-client-2.9.0.jar:2.9.0]
>         at org.apache.activemq.artemis.reader.MessageUtil.setObjectProperty(MessageUtil.java:262) [artemis-core-client-2.9.0.jar:2.9.0]
>         at org.apache.activemq.artemis.protocol.amqp.converter.jms.ServerJMSMessage.setObjectProperty(ServerJMSMessage.java:345) [artemis-amqp-protocol-2.9.0.jar:2.9.0]
>         at org.apache.activemq.artemis.protocol.amqp.converter.AmqpCoreConverter.setProperty(AmqpCoreConverter.java:441) [artemis-amqp-protocol-2.9.0.jar:2.9.0]
>         at org.apache.activemq.artemis.protocol.amqp.converter.AmqpCoreConverter.processMessageAnnotations(AmqpCoreConverter.java:281) [artemis-amqp-protocol-2.9.0.jar:2.9.0]
>         at org.apache.activemq.artemis.protocol.amqp.converter.AmqpCoreConverter.toCore(AmqpCoreConverter.java:202) [artemis-amqp-protocol-2.9.0.jar:2.9.0]
>         at org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.toCore(AMQPMessage.java:692) [artemis-amqp-protocol-2.9.0.jar:2.9.0]
>         ... 10 more
> {noformat}
> When browsing messages in web console, no messages are displayed for this queue.
> I will add reproducer when I create it.



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)