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

Clebert Suconic commented on ARTEMIS-2446:
------------------------------------------

sorry I did not see this back in 2019

> AMQP message transmission with UUID properties fails
> ----------------------------------------------------
>
>                 Key: ARTEMIS-2446
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2446
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: AMQP
>    Affects Versions: 2.9.0
>         Environment: I run the broker in a Docker container created based on 
> [https://github.com/vromero/activemq-artemis-docker.] It is based on 
> openjdk:8u222-jdk-stretch image. I've removed the etc and etc-override 
> volumes, removed the excess protocol jars, added guest login.
>            Reporter: Marko Kohtala
>            Priority: Major
>
> I have an application using AMQP messaging and it works with ActiveMQ Artemis 
> for small messages, but is failing for larger messages with error:
>  
> {noformat}
> 2019-08-06T06:47:01.793175725Z Calculating performance journal ...
> 2019-08-06T06:47:22.324883428Z 144000
> 2019-08-06T06:47:33.378573751Z      _        _               _
> 2019-08-06T06:47:33.378610153Z     / \  ____| |_  ___ __  __(_) _____
> 2019-08-06T06:47:33.378622654Z    / _ \|  _ \ __|/ _ \  \/  | |/  __/
> 2019-08-06T06:47:33.378634254Z   / ___ \ | \/ |_/  __/ |\/| | |\___ \
> 2019-08-06T06:47:33.378645955Z  /_/   \_\|   \__\____|_|  |_|_|/___ /
> 2019-08-06T06:47:33.378657155Z  Apache ActiveMQ Artemis 2.9.0
> 2019-08-06T06:47:33.378668156Z
> 2019-08-06T06:47:33.378679156Z
> 2019-08-06T06:47:37.544726699Z 2019-08-06 06:47:37,477 INFO  
> [org.apache.activemq.artemis.integration.bootstrap] AMQ101000: Starting 
> ActiveMQ Artemis Server
> 2019-08-06T06:47:38.565550895Z 2019-08-06 06:47:38,564 INFO  
> [org.apache.activemq.artemis.core.server] AMQ221000: live Message Broker is 
> starting with configuration Broker Configuration 
> (clustered=false,journalDirectory=data/journal,bindingsDirectory=data/bindings,largeMessagesDirectory=data/large-messages,pagingDirectory=data/paging)
> 2019-08-06T06:47:38.742539672Z 2019-08-06 06:47:38,738 INFO  
> [org.apache.activemq.artemis.core.server] AMQ221012: Using AIO Journal
> 2019-08-06T06:47:39.048523728Z 2019-08-06 06:47:39,043 INFO  
> [org.apache.activemq.artemis.core.server] AMQ221057: Global Max Size is being 
> adjusted to 1/2 of the JVM max size (-Xmx). being defined as 3,099,590,656
> 2019-08-06T06:47:39.281507988Z 2019-08-06 06:47:39,278 INFO  
> [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: 
> [artemis-server]. Adding protocol support for: CORE
> 2019-08-06T06:47:39.281536789Z 2019-08-06 06:47:39,279 INFO  
> [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: 
> [artemis-amqp-protocol]. Adding protocol support for: AMQP
> 2019-08-06T06:47:40.433221253Z 2019-08-06 06:47:40,426 INFO  
> [org.apache.activemq.artemis.core.server] AMQ221034: Waiting indefinitely to 
> obtain live lock
> 2019-08-06T06:47:40.433255155Z 2019-08-06 06:47:40,427 INFO  
> [org.apache.activemq.artemis.core.server] AMQ221035: Live Server Obtained 
> live lock
> 2019-08-06T06:47:40.927969551Z 2019-08-06 06:47:40,925 INFO  
> [org.apache.activemq.artemis.core.server] AMQ221080: Deploying address DLQ 
> supporting [ANYCAST]
> 2019-08-06T06:47:41.038512746Z 2019-08-06 06:47:41,035 INFO  
> [org.apache.activemq.artemis.core.server] AMQ221003: Deploying ANYCAST queue 
> DLQ on address DLQ
> 2019-08-06T06:47:41.822560701Z 2019-08-06 06:47:41,814 INFO  
> [org.apache.activemq.artemis.core.server] AMQ221080: Deploying address 
> ExpiryQueue supporting [ANYCAST]
> 2019-08-06T06:47:41.831706739Z 2019-08-06 06:47:41,830 INFO  
> [org.apache.activemq.artemis.core.server] AMQ221003: Deploying ANYCAST queue 
> ExpiryQueue on address ExpiryQueue
> 2019-08-06T06:47:41.857242562Z 2019-08-06 06:47:41,850 INFO  
> [org.apache.activemq.artemis.core.server] AMQ221080: Deploying address 
> /exchange/amq.fanout/analysis supporting [MULTICAST]
> 2019-08-06T06:47:41.876622291Z 2019-08-06 06:47:41,875 INFO  
> [org.apache.activemq.artemis.core.server] AMQ221080: Deploying address 
> /topic/heartbeat supporting [MULTICAST]
> 2019-08-06T06:47:43.249534752Z 2019-08-06 06:47:43,242 INFO  
> [org.apache.activemq.artemis.core.server] AMQ221020: Started EPOLL Acceptor 
> at 0.0.0.0:5672 for protocols [AMQP]
> 2019-08-06T06:47:43.274616353Z 2019-08-06 06:47:43,267 INFO  
> [org.apache.activemq.artemis.core.server] AMQ221007: Server is now live
> 2019-08-06T06:47:43.274655755Z 2019-08-06 06:47:43,267 INFO  
> [org.apache.activemq.artemis.core.server] AMQ221001: Apache ActiveMQ Artemis 
> Message Broker version 2.9.0 [ae09008555df, 
> nodeID=147edb1d-b816-11e9-a90c-02420ae0020c]
> 2019-08-06T06:47:47.820575804Z 2019-08-06 06:47:47,816 INFO  
> [org.apache.activemq.hawtio.branding.PluginContextListener] Initialized 
> activemq-branding plugin
> 2019-08-06T06:47:48.735664537Z 2019-08-06 06:47:48,685 INFO  
> [org.apache.activemq.hawtio.plugin.PluginContextListener] Initialized 
> artemis-plugin plugin
> 2019-08-06T06:47:52.505572720Z 2019-08-06 06:47:52,453 INFO  
> [io.hawt.HawtioContextListener] Initialising hawtio services
> 2019-08-06T06:47:52.660606946Z 2019-08-06 06:47:52,660 INFO  
> [io.hawt.system.ConfigManager] Configuration will be discovered via system 
> properties
> 2019-08-06T06:47:52.682554698Z 2019-08-06 06:47:52,681 INFO  
> [io.hawt.jmx.JmxTreeWatcher] Welcome to hawtio 1.5.5 : http://hawt.io/ : 
> Don't cha wish your console was hawt like me? ;-)
> 2019-08-06T06:47:52.706528646Z 2019-08-06 06:47:52,701 INFO  
> [io.hawt.jmx.UploadManager] Using file upload directory: 
> /var/lib/artemis/tmp/uploads
> 2019-08-06T06:47:52.886588371Z 2019-08-06 06:47:52,885 INFO  
> [io.hawt.web.AuthenticationFilter] Starting hawtio authentication filter, 
> JAAS realm: "activemq" authorized role(s): "amq" role principal classes: 
> "org.apache.activemq.artemis.spi.core.security.jaas.RolePrincipal"
> 2019-08-06T06:47:53.130576058Z 2019-08-06 06:47:53,128 INFO  
> [io.hawt.web.JolokiaConfiguredAgentServlet] Jolokia overridden property: 
> [key=policyLocation, value=file:/var/lib/artemis/etc/jolokia-access.xml]
> 2019-08-06T06:47:53.247602164Z 2019-08-06 06:47:53,237 INFO  
> [io.hawt.web.RBACMBeanInvoker] Using MBean 
> [hawtio:type=security,area=jmx,rank=0,name=HawtioDummyJMXSecurity] for role 
> based access control
> 2019-08-06T06:47:54.733611447Z 2019-08-06 06:47:54,732 INFO  
> [io.hawt.system.ProxyWhitelist] Initial proxy whitelist: [localhost, 
> 127.0.0.1, 10.224.2.12, ae09008555df]
> 2019-08-06T06:47:55.819600768Z 2019-08-06 06:47:55,818 INFO  
> [org.apache.activemq.artemis] AMQ241001: HTTP Server started at 
> http://0.0.0.0:8161
> 2019-08-06T06:47:55.819647370Z 2019-08-06 06:47:55,818 INFO  
> [org.apache.activemq.artemis] AMQ241002: Artemis Jolokia REST API available 
> at http://0.0.0.0:8161/console/jolokia
> 2019-08-06T06:47:55.819661171Z 2019-08-06 06:47:55,819 INFO  
> [org.apache.activemq.artemis] AMQ241004: Artemis Console available at 
> http://0.0.0.0:8161/console
> 2019-08-06T06:49:43.223569212Z 2019-08-06 06:49:43,190 WARN  
> [org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerReceiverContext]
>  class java.util.UUID is not a valid property type: 
> java.lang.RuntimeException: class java.util.UUID is not a valid property type
> 2019-08-06T06:49:43.223597713Z  at 
> org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.toCore(AMQPMessage.java:695)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.223611514Z  at 
> org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.toCore(AMQPMessage.java:701)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.223623515Z  at 
> org.apache.activemq.artemis.core.persistence.impl.journal.LargeServerMessageImpl.asLargeMessage(LargeServerMessageImpl.java:63)
>  [artemis-server-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.223643615Z  at 
> org.apache.activemq.artemis.core.persistence.impl.journal.LargeServerMessageImpl.checkLargeMessage(LargeServerMessageImpl.java:56)
>  [artemis-server-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.223656216Z  at 
> org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.send(ServerSessionImpl.java:1631)
>  [artemis-server-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.223667717Z  at 
> org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback.serverSend(AMQPSessionCallback.java:510)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.223679017Z  at 
> org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback.serverSend(AMQPSessionCallback.java:470)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.223690518Z  at 
> org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerReceiverContext.actualDelivery(ProtonServerReceiverContext.java:304)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.223702218Z  at 
> org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerReceiverContext.onMessage(ProtonServerReceiverContext.java:299)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.223713819Z  at 
> org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.onDelivery(AMQPConnectionContext.java:541)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.223725619Z  at 
> org.apache.activemq.artemis.protocol.amqp.proton.handler.Events.dispatch(Events.java:92)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.223738920Z  at 
> org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.dispatch(ProtonHandler.java:485)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.223751021Z  at 
> org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.flush(ProtonHandler.java:285)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.223762421Z  at 
> org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.inputBuffer(ProtonHandler.java:242)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.223773722Z  at 
> org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.inputBuffer(AMQPConnectionContext.java:170)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.223785422Z  at 
> org.apache.activemq.artemis.protocol.amqp.broker.ActiveMQProtonRemotingConnection.bufferReceived(ActiveMQProtonRemotingConnection.java:149)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.223797023Z  at 
> org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:649)
>  [artemis-server-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.223808723Z  at 
> org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:73)
>  [artemis-core-client-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.223820324Z  at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
>  [netty-all-4.1.34.Final.jar:4.1.34.Final]
> 2019-08-06T06:49:43.223831924Z  at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
>  [netty-all-4.1.34.Final.jar:4.1.34.Final]
> 2019-08-06T06:49:43.223848725Z  at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:337)
>  [netty-all-4.1.34.Final.jar:4.1.34.Final]
> 2019-08-06T06:49:43.223882727Z  at 
> io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1408)
>  [netty-all-4.1.34.Final.jar:4.1.34.Final]
> 2019-08-06T06:49:43.223899028Z  at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:359)
>  [netty-all-4.1.34.Final.jar:4.1.34.Final]
> 2019-08-06T06:49:43.223910728Z  at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:345)
>  [netty-all-4.1.34.Final.jar:4.1.34.Final]
> 2019-08-06T06:49:43.223922529Z  at 
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:930)
>  [netty-all-4.1.34.Final.jar:4.1.34.Final]
> 2019-08-06T06:49:43.223936029Z  at 
> io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:796)
>  [netty-all-4.1.34.Final.jar:4.1.34.Final]
> 2019-08-06T06:49:43.223948330Z  at 
> io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe$1.run(AbstractEpollChannel.java:382)
>  [netty-all-4.1.34.Final.jar:4.1.34.Final]
> 2019-08-06T06:49:43.223959931Z  at 
> io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
>  [netty-all-4.1.34.Final.jar:4.1.34.Final]
> 2019-08-06T06:49:43.223971531Z  at 
> io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
>  [netty-all-4.1.34.Final.jar:4.1.34.Final]
> 2019-08-06T06:49:43.223982932Z  at 
> io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:333) 
> [netty-all-4.1.34.Final.jar:4.1.34.Final]
> 2019-08-06T06:49:43.223994632Z  at 
> io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:905)
>  [netty-all-4.1.34.Final.jar:4.1.34.Final]
> 2019-08-06T06:49:43.224006533Z  at 
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:118)
>  [artemis-commons-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.224018233Z Caused by: javax.jms.MessageFormatException: 
> class java.util.UUID is not a valid property type
> 2019-08-06T06:49:43.224030134Z  at 
> org.apache.activemq.artemis.protocol.amqp.converter.jms.ServerJMSMapMessage.setObject(ServerJMSMapMessage.java:140)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.224041935Z  at 
> org.apache.activemq.artemis.protocol.amqp.converter.AMQPMessageSupport.createMapMessage(AMQPMessageSupport.java:363)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.224053535Z  at 
> org.apache.activemq.artemis.protocol.amqp.converter.AmqpCoreConverter.toCore(AmqpCoreConverter.java:184)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.224065136Z  at 
> org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage.toCore(AMQPMessage.java:692)
>  [artemis-amqp-protocol-2.9.0.jar:2.9.0]
> 2019-08-06T06:49:43.224076736Z  ... 31 more
> 2019-08-06T06:49:43.224087837Z
> {noformat}
> The message structure is as follows (this is a smaller message as decoded by 
> Wireshark, and I have removed some redundant and private elements from body 
> to only show all the AMQP types used, but larger messages differ in a body 
> vbin8 content).
>  
>  
> {noformat}
> Internet Protocol Version 4, Src: 172.18.0.8, Dst: 172.18.0.2
> Transmission Control Protocol, Src Port: 56776, Dst Port: 5672, Seq: 3932659, 
> Ack: 629, Len: 349
> Advanced Message Queueing Protocol
>     Length: 349
>     Doff: 2
>     Type: AMQP (0)
>     Channel: 0
>     Performative: transfer (20)
>     Arguments
>         Handle: 1
>         Delivery-Id: 2
>         Delivery-Tag: 32
>         Message-Format: 0
>         Settled: False
>         More: False
>     Message-Header
>     Message-Properties
>         Correlation-Id: 8e944ee0-b841-11e9-9356-c7125349b5ec
>     AMQP-Value (map of 10 elements)
>         position (uuid): cd9d2fa0-b817-11e9-b2e1-1fd86d72a1ef
>         tags (list of 0 elements)
>         dtags (map of 0 elements)
>         filename (str8-utf8): 1x1.png
>         picture (vbin8): 89504e470d0a1a0a0000000d494844520000000100000001...
>         content-type (str8-utf8): image/png
>         date-taken (timestamp): Oct 16, 2018 16:48:36.000000000
> {noformat}
> If I read the stack trace and source right, it is converting the body to JMS 
> message for storing in large-message storage. This is somewhat unfortunate, 
> as I have no JMS use for the message. I am all AMQP and would prefer nothing 
> to be changed. UUID is very nice, as the AMQP libraries convert it to native 
> types that work well towards other interfaces.
> I've had plans to move some fields with UUID values from body to application 
> properties header in hopes they could be used for routing and filtering. 
> Seems if I do that there will be another path where similar limitation in 
> supported types will hit the message.
> I am interested if there is a workaround I can use while I wait for next 
> version with support for remaining AMQP types.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to