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

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

                Author: ASF GitHub Bot
            Created on: 14/Aug/19 06:48
            Start Date: 14/Aug/19 06:48
    Worklog Time Spent: 10m 
      Work Description: michaelandrepearce 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-521123570
 
 
   So i checked, the bridging code (e.g. intra cluster etc) encodes the message 
natively then embeds inside a core, as such the original message is fully 
preserved as is.
   This just then leaves two issue areas:
   1) Large Messages
   2) Conversion to Core
   
   Currently core doesn't support complex types, as such i think its wrong to 
leach AMQP encoding into core, as people could start relying on that. Either we 
should support complex types in core properly or we don't support and those are 
dropped. Reason for this is what occurs when other protocols support complex 
types we will be left with a legacy of AMQP encoded inside core.
   
   Re large messages this just sounds like we simply aren't fully supporting 
AMQP large messages, this is known, either we need to support them or we don't.
   
   As such i see a few better options here:
   
   1) Support Large Messages for AMQP fully
   2) Support complex types in CORE
   3) Support 1 & 2
   
   Im against having a solution that leaks AMQP encoding into CORE. just as 
much as i know we dont like to modify AMQP in transit. I think this should be a 
no go area.
 
----------------------------------------------------------------
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: 294524)
    Time Spent: 1h  (was: 50m)

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