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

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

                Author: ASF GitHub Bot
            Created on: 15/Mar/24 11:08
            Start Date: 15/Mar/24 11:08
    Worklog Time Spent: 10m 
      Work Description: gemmellr commented on code in PR #4833:
URL: https://github.com/apache/activemq-artemis/pull/4833#discussion_r1526071844


##########
artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessageConverter.java:
##########
@@ -590,9 +591,11 @@ private static ActiveMQMessage 
toAMQMessage(MessageReference reference,
       }
       amqMsg.setCommandId(commandId);
 
-      final SimpleString corrId = getObjectProperty(coreMessage, 
SimpleString.class, OpenWireConstants.JMS_CORRELATION_ID_PROPERTY);
-      if (corrId != null) {
-         amqMsg.setCorrelationId(corrId.toString());
+      final Object correlationID = coreMessage.getCorrelationID();
+      if (correlationID instanceof String || correlationID instanceof 
SimpleString) {
+         amqMsg.setCorrelationId(correlationID.toString());
+      } else if (correlationID instanceof byte[]) {
+         amqMsg.setCorrelationId(new String((byte[])correlationID, 
StandardCharsets.UTF_8));

Review Comment:
   I wonder about the expected behaviour for the message if the original byte[] 
correlation-id is not actually UTF-8 decodable content?
   
   Right now it seems probable its going to explode with an exception and tank 
the message conversion. Originally it seems more like maybe it would have 
ignored the byte[] correlation-id from Core senders and logged from the 
getObjectProperty method further down this class. For AMQP senders sending 
Binary it would have got an encoded String representation.
   
   Should it be protected from non-UTF-8 values and do something similar as 
before, or just left to throw?





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

    Worklog Id:     (was: 910086)
    Time Spent: 3h 50m  (was: 3h 40m)

> Support correlation ID compatibility between JMS clients
> --------------------------------------------------------
>
>                 Key: ARTEMIS-4657
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-4657
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>            Reporter: Justin Bertram
>            Assignee: Justin Bertram
>            Priority: Major
>          Time Spent: 3h 50m
>  Remaining Estimate: 0h
>
> Currently there are some use-cases with both {{String}} and {{byte[]}} values 
> of JMS correlation ID that don't work between Core, OpenWire, and AMQP. We 
> should support as many as possible.



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

Reply via email to