[
https://issues.apache.org/jira/browse/ARTEMIS-2437?focusedWorklogId=294529&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-294529
]
ASF GitHub Bot logged work on ARTEMIS-2437:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 14/Aug/19 07:02
Start Date: 14/Aug/19 07:02
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 there are a number of issues i understand in this area,
thus why Clebert wanted to make Native large message support a blocker ticket
for 2.8 (shame this didnt happen), 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:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 294529)
Time Spent: 1h 10m (was: 1h)
> 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 10m
> 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)