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

ASF GitHub Bot logged work on ARTEMIS-2437:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 14/Aug/19 14:34
            Start Date: 14/Aug/19 14:34
    Worklog Time Spent: 10m 
      Work Description: gemmellr commented on issue #2795: ARTEMIS-2437 Allow 
extended types in annotations in AMQP to Core
URL: https://github.com/apache/activemq-artemis/pull/2795#issuecomment-521271924
 
 
   I think this is a reasonable enough thing to do in the circumstance. The 
properties that would be created are already fairly AMQP interop centric 
through their names, as the existing related ones already are, so the content 
being especially so when required doesnt seem particularly odd. Dropping them 
might work if another way was currently found to preserve them in flight for 
AMQP recipients, but would be a bit unexpected that some things transit while 
others silently dont.
   
   Rewiring the brokers large message support doesnt seem like a small thing to 
do, I wouldnt tie this comparatively small issue to that personally. Doing so 
still wouldnt address the cross-protocol aspect where this issue was actually 
hit and reported originally. 
   
   While complex types are usable in others areas such as the annotations 
section as seen here, AMQP does not permit complex application-properties, so 
extending Core for that would actually introduce [more?] scope for the same 
problem in reverse for Core to AMQP and the other protocols, so I dont think I 
would go there to resolve this either. Even if doing so, any user custom 
described types would probably still require something along these lines I 
think (or again, dropping).
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 294781)
    Time Spent: 1.5h  (was: 1h 20m)

> 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: 1.5h
>  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)

Reply via email to