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