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

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

                Author: ASF GitHub Bot
            Created on: 28/Feb/24 23:09
            Start Date: 28/Feb/24 23:09
    Worklog Time Spent: 10m 
      Work Description: tabish121 commented on PR #4833:
URL: 
https://github.com/apache/activemq-artemis/pull/4833#issuecomment-1970070993

   > Perhaps our hands are tied here and we just can't support OpenWire 
correlation ID as `byte[]` since it will break existing use-cases. I'm running 
the full test-suite now, and if there are existing test-cases that break then 
that will help convince me. However, at this point it seems to me like using 
`byte[]` to gain compatibility between JMS and a "native" format (e.g. core) is 
actually the right thing to do so supporting `byte[]` across all protocols at 
the sacrifice of `String` is appropriate especially since this will open the 
door to compatibility with MQTT 5 (although I grant that's likely an edge case).
   > 
   > I'm, of course, open to being convinced otherwise. I'd love your thoughts.
   
   Given what Openwire does (treats all correlation IDs as String even the 
byte[] ones) I'd have chosen to keep incoming Openwire message correlation IDs 
as String upon conversion to Core as you have no visibility into what it 
started as but most likely guess is probably that it was a String (set from 
getJMSMessageID).  On the outbound from AMQP / Core / MQTT to Openwire you 
could UTF-8 encode any binary value as Openwire again is not making it clear 
what the source value started as and it is just going to UTF8 decode it when 
you call getJMSCorrelationIDAsBytes
   
   Core and AMQP actually won't return anything (Qpid JMS will throw) from 
getJMSCorrelationIDAsBytes if it didn't arrive as a byte[] but that seems a 
semi-reasonable outcome when going from Openwire to Core / AMQP as again 
Openwire gives you not hint as to what it was at the start so failing on 
getJMSCorrelationIDAsBytes for that case is reasonable.  




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

    Worklog Id:     (was: 907436)
    Time Spent: 1h  (was: 50m)

> 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: 1h
>  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