[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16738012#comment-16738012 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh closed the pull request at: https://github.com/apache/activemq-artemis/pull/1793 > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16724443#comment-16724443 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user jbertram commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @RaiSaurabh, at this point there are lots of conflicts on this PR. They either need to be fixed and this PR can move forward or it needs to be closed. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16447262#comment-16447262 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @clebertsuconic @RaiSaurabh @michaelandrepearce **Re performances** I've the first results using just a small benchmark with 1 producer/1 consumer using 100 bytes messages. ``` this PR:37050 msg/sec 2.5:85689 msg/sec ``` So performance-wise there is a long way to go, but I think it is related to some correctness issues. **Re correctness** I've launched a run on CI just with the OpenWire test suite with no success: ``` [INFO] ActiveMQ5.x unit tests . FAILURE [ 2.950 s] ``` So I've decided to run the most some on my box@home. The results from `org.apache.activemq.artemis.tests.integration.openwire` ones shows 7 failed tests/341: ``` CompressedInteropTest.testCoreReceiveOpenWireCompressedMessages MessageListenerRedeliveryTest.testQueueSessionListenerExceptionDlq OpenWireLargeMessageTest.testSendReceiveLargeMessage GeneralInteropTest.testSendingToCoreJms SimpleOpenWireTest.testTempQueueSendAfterConnectionClose RedeliveryPolicyTest.testRedeliveryPolicyPerDestination RedeliveryPolicyTest.testDLQHandling ``` I've to run the `tests/activemq5-unit-tests` yet but I suppose that's enough to be fixed. Sorry for letting this PR sitting here for such a long time and thanks @RaiSaurabh to have worked on it: I think that given the right direction taken by the work on this PR makes a lot of sense to fix all the compatibility issues first, before looking to the performance gains that in the current state, are not present. @RaiSaurabh don't give up with the hard work done here and take a look at the tests results: as much as possible I will try to help by reviewing the code and propose fixes :+1: > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01,
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16443155#comment-16443155 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @michaelandrepearce There is another testsuite just for openwire. somethings that we inherited from activemq5.. it's under ./tests/activemq5-unit-tests that one was fairly broken. i would need to re-check it. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16443121#comment-16443121 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 i Got a lot of test failures previous, but it seemed a lot better when I ran a suite a few weeks back, is that since his latest changes and work that you ran it? I’m just conscious this would be a really bit +100 on the whole ActiveMQ 6 thing that we all desperately want > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16443113#comment-16443113 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 this is a nice start.. but it will require some work... a lot of tests are broken... the converters need to be updated... (especially on the openwire testsuite). > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16443109#comment-16443109 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @clebertsuconic you able to give @raisaurabh a pr with what you mean. I’ve gone though it myself and in general looks fine from what I can tell, eg it has a check to see if it’s of openwire message type and if it is it returns it instead of converting > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16414850#comment-16414850 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 There should be some simplification on the converters here. They shouldn't be needed at all when talking openwire <-> openwire. I saw some issues when I was looking into this. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16413660#comment-16413660 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @RaiSaurabh have sent a PR to your branch, that solves some bits for you. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16413539#comment-16413539 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @RaiSaurabh thanks, thats making my life easier, just looking at this atm, if you hadn't guessed :) > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16413388#comment-16413388 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @RaiSaurabh could you rebase your branch on current master then, for me? > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16413389#comment-16413389 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 Ok @michaelandrepearce . > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16413386#comment-16413386 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @michaelandrepearce Yes, I did. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16413384#comment-16413384 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @RaiSaurabh im struggling to rebase this on top of master. Did you rebase after @franz1981's work? > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16401614#comment-16401614 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @raisaurabh great stuff, if I get a chance I’ll try have a look. If not hopefully Clebert will be able to. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16401547#comment-16401547 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @michaelandrepearce @clebertsuconic Apologies for delaying this and dragging this long. I tried to fix the code to pass all the test cases of OpenWire but still, I get 5 failed test cases. I would require your contribution/guidance in fixing the same. Following are the failed test cases: OpenWireGroupingTest.testGrouping JmsTopicRequestReplyTest.testSendAndReceive RedeliveryPolicyTest.testRedeliveryPolicyPerDestination TemporaryQueueClusterTest.testClusteredQueue > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16367674#comment-16367674 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user jbertram commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @RaiSaurabh, the Travis CI issues should be resolved. Can you please rebase this PR and push -f? Thanks! > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16366724#comment-16366724 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @RaiSaurabh I've just checked vs the `integration/openwire` tests in `integration-tests` and it fail 22 tests/338. The original number of failing tests here is 1, so anything over this value is actually a regression. I'm not runining the compatibility ones on `activemq5-unit-tests` (my notebook could die before finishing them :P) with no reasons. Please run the tests I've mentioned and try at least to no have regressions there: the idea of the original PR is good (very good), but the implementation need to be fixed in order to not have huge regressions on how OpenWire is working, thanks :+1: > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16366618#comment-16366618 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @michaelandrepearce I have implemented the changes asked and also checked that this persists to disk and is recoverable on restart of the broker without converting to the core message. Could you please review it. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16366615#comment-16366615 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r168675085 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessage.java --- @@ -0,0 +1,673 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.activemq.artemis.core.protocol.openwire; + +import javax.jms.JMSException; +import java.io.IOException; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.Set; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.ActiveMQException; +import org.apache.activemq.artemis.api.core.ActiveMQPropertyConversionException; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.Message; +import org.apache.activemq.artemis.api.core.RefCountMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.core.persistence.Persister; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.command.ActiveMQDestination; +import org.apache.activemq.command.ActiveMQMessage; +import org.apache.activemq.openwire.OpenWireFormat; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.wireformat.WireFormat; + +public class OpenWireMessage extends RefCountMessage { + + private org.apache.activemq.command.ActiveMQMessage message; + private WireFormat wireFormat; + ByteBuf data; + boolean bufferValid; + + + public OpenWireMessage(org.apache.activemq.command.ActiveMQMessage message, WireFormat wireFormat) { + this.message = message; + this.wireFormat = wireFormat; + try { + ByteSequence byteSequence = this.wireFormat.marshal(message); + setBuffer(Unpooled.copiedBuffer(byteSequence.getData(), byteSequence.getOffset(), byteSequence.getLength())); + } catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); + } + } + + public OpenWireMessage() { + } + + public void setMarsheller(WireFormat wireFormat) { + this.wireFormat = wireFormat; + } + + public ActiveMQMessage getAMQMessage() { + if (message == null) { + if (data != null) { +try { + message = (ActiveMQMessage) wireFormat.unmarshal(new ChannelBufferWrapper(data)); +} catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); +} +return message; + } else { +return new ActiveMQMessage(); + } + } + return message; + } + + @Override + public void messageChanged() { + } --- End diff -- No not at the moment > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16366614#comment-16366614 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r168675067 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessage.java --- @@ -0,0 +1,673 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.activemq.artemis.core.protocol.openwire; + +import javax.jms.JMSException; +import java.io.IOException; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.Set; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.ActiveMQException; +import org.apache.activemq.artemis.api.core.ActiveMQPropertyConversionException; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.Message; +import org.apache.activemq.artemis.api.core.RefCountMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.core.persistence.Persister; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.command.ActiveMQDestination; +import org.apache.activemq.command.ActiveMQMessage; +import org.apache.activemq.openwire.OpenWireFormat; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.wireformat.WireFormat; + +public class OpenWireMessage extends RefCountMessage { + + private org.apache.activemq.command.ActiveMQMessage message; + private WireFormat wireFormat; + ByteBuf data; + boolean bufferValid; + + + public OpenWireMessage(org.apache.activemq.command.ActiveMQMessage message, WireFormat wireFormat) { + this.message = message; + this.wireFormat = wireFormat; + try { + ByteSequence byteSequence = this.wireFormat.marshal(message); + setBuffer(Unpooled.copiedBuffer(byteSequence.getData(), byteSequence.getOffset(), byteSequence.getLength())); + } catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); + } + } + + public OpenWireMessage() { + } + + public void setMarsheller(WireFormat wireFormat) { + this.wireFormat = wireFormat; + } + + public ActiveMQMessage getAMQMessage() { + if (message == null) { + if (data != null) { +try { + message = (ActiveMQMessage) wireFormat.unmarshal(new ChannelBufferWrapper(data)); +} catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); +} +return message; + } else { +return new ActiveMQMessage(); + } + } + return message; + } + + @Override + public void messageChanged() { + } + + @Override + public Long getScheduledDeliveryTime() { + return message.getArrival(); + } + + @Override + public SimpleString getReplyTo() { + return SimpleString.toSimpleString(message.getReplyTo().getPhysicalName()); + } + + @Override + public Message setReplyTo(SimpleString address) { + message.setReplyTo(ActiveMQDestination.createDestination(address.toString(), ActiveMQDestination.QUEUE_TYPE)); + return this; + } + + @Override + public Message setBuffer(Byt
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16366613#comment-16366613 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r168675045 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessage.java --- @@ -0,0 +1,673 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.activemq.artemis.core.protocol.openwire; + +import javax.jms.JMSException; +import java.io.IOException; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.Set; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.ActiveMQException; +import org.apache.activemq.artemis.api.core.ActiveMQPropertyConversionException; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.Message; +import org.apache.activemq.artemis.api.core.RefCountMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.core.persistence.Persister; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.command.ActiveMQDestination; +import org.apache.activemq.command.ActiveMQMessage; +import org.apache.activemq.openwire.OpenWireFormat; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.wireformat.WireFormat; + +public class OpenWireMessage extends RefCountMessage { + + private org.apache.activemq.command.ActiveMQMessage message; + private WireFormat wireFormat; + ByteBuf data; + boolean bufferValid; + + + public OpenWireMessage(org.apache.activemq.command.ActiveMQMessage message, WireFormat wireFormat) { + this.message = message; + this.wireFormat = wireFormat; + try { + ByteSequence byteSequence = this.wireFormat.marshal(message); + setBuffer(Unpooled.copiedBuffer(byteSequence.getData(), byteSequence.getOffset(), byteSequence.getLength())); + } catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); + } + } + + public OpenWireMessage() { + } + + public void setMarsheller(WireFormat wireFormat) { + this.wireFormat = wireFormat; + } + + public ActiveMQMessage getAMQMessage() { + if (message == null) { + if (data != null) { +try { + message = (ActiveMQMessage) wireFormat.unmarshal(new ChannelBufferWrapper(data)); +} catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); +} +return message; + } else { +return new ActiveMQMessage(); + } + } + return message; + } + + @Override + public void messageChanged() { + } + + @Override + public Long getScheduledDeliveryTime() { + return message.getArrival(); + } + + @Override + public SimpleString getReplyTo() { + return SimpleString.toSimpleString(message.getReplyTo().getPhysicalName()); + } + + @Override + public Message setReplyTo(SimpleString address) { + message.setReplyTo(ActiveMQDestination.createDestination(address.toString(), ActiveMQDestination.QUEUE_TYPE)); + return this; + } + + @Override + public Message setBuffer(Byt
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16366612#comment-16366612 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 Seems some issue with Travis and Jenkins for this project is disabled. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16364200#comment-16364200 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 for this kind of big PR to be merged, we need the full testsuite to be passing. Not talking about the PR testsuite. There's an issue that we don't have an env at apache where we can run the whole tests.. so we have to do it on our boxes. I have a box at home where I do this. .and another box at work. basically: mvn -Ptests test and the same on the openwire tests.. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16363947#comment-16363947 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 Really need PR build to be green. Maybe re-push with a comment update to get try trigger another build. Seems some methods have been still left in-implemented. Also could/should look to use string to SimpleString pools. Lastly have you checked that this persists to disk and is recoverable without converting to core. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16363935#comment-16363935 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r168166771 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessage.java --- @@ -0,0 +1,673 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.activemq.artemis.core.protocol.openwire; + +import javax.jms.JMSException; +import java.io.IOException; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.Set; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.ActiveMQException; +import org.apache.activemq.artemis.api.core.ActiveMQPropertyConversionException; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.Message; +import org.apache.activemq.artemis.api.core.RefCountMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.core.persistence.Persister; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.command.ActiveMQDestination; +import org.apache.activemq.command.ActiveMQMessage; +import org.apache.activemq.openwire.OpenWireFormat; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.wireformat.WireFormat; + +public class OpenWireMessage extends RefCountMessage { + + private org.apache.activemq.command.ActiveMQMessage message; + private WireFormat wireFormat; + ByteBuf data; + boolean bufferValid; + + + public OpenWireMessage(org.apache.activemq.command.ActiveMQMessage message, WireFormat wireFormat) { + this.message = message; + this.wireFormat = wireFormat; + try { + ByteSequence byteSequence = this.wireFormat.marshal(message); + setBuffer(Unpooled.copiedBuffer(byteSequence.getData(), byteSequence.getOffset(), byteSequence.getLength())); + } catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); + } + } + + public OpenWireMessage() { + } + + public void setMarsheller(WireFormat wireFormat) { + this.wireFormat = wireFormat; + } + + public ActiveMQMessage getAMQMessage() { + if (message == null) { + if (data != null) { +try { + message = (ActiveMQMessage) wireFormat.unmarshal(new ChannelBufferWrapper(data)); +} catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); +} +return message; + } else { +return new ActiveMQMessage(); + } + } + return message; + } + + @Override + public void messageChanged() { + } + + @Override + public Long getScheduledDeliveryTime() { + return message.getArrival(); + } + + @Override + public SimpleString getReplyTo() { + return SimpleString.toSimpleString(message.getReplyTo().getPhysicalName()); + } + + @Override + public Message setReplyTo(SimpleString address) { + message.setReplyTo(ActiveMQDestination.createDestination(address.toString(), ActiveMQDestination.QUEUE_TYPE)); + return this; + } + + @Override + public Message setBu
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16363942#comment-16363942 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r168166093 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessage.java --- @@ -0,0 +1,673 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.activemq.artemis.core.protocol.openwire; + +import javax.jms.JMSException; +import java.io.IOException; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.Set; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.ActiveMQException; +import org.apache.activemq.artemis.api.core.ActiveMQPropertyConversionException; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.Message; +import org.apache.activemq.artemis.api.core.RefCountMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.core.persistence.Persister; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.command.ActiveMQDestination; +import org.apache.activemq.command.ActiveMQMessage; +import org.apache.activemq.openwire.OpenWireFormat; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.wireformat.WireFormat; + +public class OpenWireMessage extends RefCountMessage { + + private org.apache.activemq.command.ActiveMQMessage message; + private WireFormat wireFormat; + ByteBuf data; + boolean bufferValid; + + + public OpenWireMessage(org.apache.activemq.command.ActiveMQMessage message, WireFormat wireFormat) { + this.message = message; + this.wireFormat = wireFormat; + try { + ByteSequence byteSequence = this.wireFormat.marshal(message); + setBuffer(Unpooled.copiedBuffer(byteSequence.getData(), byteSequence.getOffset(), byteSequence.getLength())); + } catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); + } + } + + public OpenWireMessage() { + } + + public void setMarsheller(WireFormat wireFormat) { + this.wireFormat = wireFormat; + } + + public ActiveMQMessage getAMQMessage() { + if (message == null) { + if (data != null) { +try { + message = (ActiveMQMessage) wireFormat.unmarshal(new ChannelBufferWrapper(data)); +} catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); +} +return message; + } else { +return new ActiveMQMessage(); + } + } + return message; + } + + @Override + public void messageChanged() { + } + + @Override + public Long getScheduledDeliveryTime() { + return message.getArrival(); + } + + @Override + public SimpleString getReplyTo() { + return SimpleString.toSimpleString(message.getReplyTo().getPhysicalName()); + } + + @Override + public Message setReplyTo(SimpleString address) { + message.setReplyTo(ActiveMQDestination.createDestination(address.toString(), ActiveMQDestination.QUEUE_TYPE)); + return this; + } + + @Override + public Message setBu
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16363937#comment-16363937 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r168166856 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessage.java --- @@ -0,0 +1,673 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.activemq.artemis.core.protocol.openwire; + +import javax.jms.JMSException; +import java.io.IOException; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.Set; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.ActiveMQException; +import org.apache.activemq.artemis.api.core.ActiveMQPropertyConversionException; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.Message; +import org.apache.activemq.artemis.api.core.RefCountMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.core.persistence.Persister; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.command.ActiveMQDestination; +import org.apache.activemq.command.ActiveMQMessage; +import org.apache.activemq.openwire.OpenWireFormat; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.wireformat.WireFormat; + +public class OpenWireMessage extends RefCountMessage { + + private org.apache.activemq.command.ActiveMQMessage message; + private WireFormat wireFormat; + ByteBuf data; + boolean bufferValid; + + + public OpenWireMessage(org.apache.activemq.command.ActiveMQMessage message, WireFormat wireFormat) { + this.message = message; + this.wireFormat = wireFormat; + try { + ByteSequence byteSequence = this.wireFormat.marshal(message); + setBuffer(Unpooled.copiedBuffer(byteSequence.getData(), byteSequence.getOffset(), byteSequence.getLength())); + } catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); + } + } + + public OpenWireMessage() { + } + + public void setMarsheller(WireFormat wireFormat) { + this.wireFormat = wireFormat; + } + + public ActiveMQMessage getAMQMessage() { + if (message == null) { + if (data != null) { +try { + message = (ActiveMQMessage) wireFormat.unmarshal(new ChannelBufferWrapper(data)); +} catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); +} +return message; + } else { +return new ActiveMQMessage(); + } + } + return message; + } + + @Override + public void messageChanged() { + } + + @Override + public Long getScheduledDeliveryTime() { + return message.getArrival(); + } + + @Override + public SimpleString getReplyTo() { + return SimpleString.toSimpleString(message.getReplyTo().getPhysicalName()); + } + + @Override + public Message setReplyTo(SimpleString address) { + message.setReplyTo(ActiveMQDestination.createDestination(address.toString(), ActiveMQDestination.QUEUE_TYPE)); + return this; + } + + @Override + public Message setBu
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16363934#comment-16363934 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r168166047 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessage.java --- @@ -0,0 +1,673 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.activemq.artemis.core.protocol.openwire; + +import javax.jms.JMSException; +import java.io.IOException; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.Set; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.ActiveMQException; +import org.apache.activemq.artemis.api.core.ActiveMQPropertyConversionException; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.Message; +import org.apache.activemq.artemis.api.core.RefCountMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.core.persistence.Persister; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.command.ActiveMQDestination; +import org.apache.activemq.command.ActiveMQMessage; +import org.apache.activemq.openwire.OpenWireFormat; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.wireformat.WireFormat; + +public class OpenWireMessage extends RefCountMessage { + + private org.apache.activemq.command.ActiveMQMessage message; + private WireFormat wireFormat; + ByteBuf data; + boolean bufferValid; + + + public OpenWireMessage(org.apache.activemq.command.ActiveMQMessage message, WireFormat wireFormat) { + this.message = message; + this.wireFormat = wireFormat; + try { + ByteSequence byteSequence = this.wireFormat.marshal(message); + setBuffer(Unpooled.copiedBuffer(byteSequence.getData(), byteSequence.getOffset(), byteSequence.getLength())); + } catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); + } + } + + public OpenWireMessage() { + } + + public void setMarsheller(WireFormat wireFormat) { + this.wireFormat = wireFormat; + } + + public ActiveMQMessage getAMQMessage() { + if (message == null) { + if (data != null) { +try { + message = (ActiveMQMessage) wireFormat.unmarshal(new ChannelBufferWrapper(data)); +} catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); +} +return message; + } else { +return new ActiveMQMessage(); + } + } + return message; + } + + @Override + public void messageChanged() { + } + + @Override + public Long getScheduledDeliveryTime() { + return message.getArrival(); + } + + @Override + public SimpleString getReplyTo() { + return SimpleString.toSimpleString(message.getReplyTo().getPhysicalName()); + } + + @Override + public Message setReplyTo(SimpleString address) { + message.setReplyTo(ActiveMQDestination.createDestination(address.toString(), ActiveMQDestination.QUEUE_TYPE)); + return this; + } + + @Override + public Message setBu
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16363939#comment-16363939 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r168166219 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessage.java --- @@ -0,0 +1,673 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.activemq.artemis.core.protocol.openwire; + +import javax.jms.JMSException; +import java.io.IOException; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.Set; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.ActiveMQException; +import org.apache.activemq.artemis.api.core.ActiveMQPropertyConversionException; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.Message; +import org.apache.activemq.artemis.api.core.RefCountMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.core.persistence.Persister; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.command.ActiveMQDestination; +import org.apache.activemq.command.ActiveMQMessage; +import org.apache.activemq.openwire.OpenWireFormat; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.wireformat.WireFormat; + +public class OpenWireMessage extends RefCountMessage { + + private org.apache.activemq.command.ActiveMQMessage message; + private WireFormat wireFormat; + ByteBuf data; + boolean bufferValid; + + + public OpenWireMessage(org.apache.activemq.command.ActiveMQMessage message, WireFormat wireFormat) { + this.message = message; + this.wireFormat = wireFormat; + try { + ByteSequence byteSequence = this.wireFormat.marshal(message); + setBuffer(Unpooled.copiedBuffer(byteSequence.getData(), byteSequence.getOffset(), byteSequence.getLength())); + } catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); + } + } + + public OpenWireMessage() { + } + + public void setMarsheller(WireFormat wireFormat) { + this.wireFormat = wireFormat; + } + + public ActiveMQMessage getAMQMessage() { + if (message == null) { + if (data != null) { +try { + message = (ActiveMQMessage) wireFormat.unmarshal(new ChannelBufferWrapper(data)); +} catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); +} +return message; + } else { +return new ActiveMQMessage(); + } + } + return message; + } + + @Override + public void messageChanged() { + } + + @Override + public Long getScheduledDeliveryTime() { + return message.getArrival(); + } + + @Override + public SimpleString getReplyTo() { + return SimpleString.toSimpleString(message.getReplyTo().getPhysicalName()); + } + + @Override + public Message setReplyTo(SimpleString address) { + message.setReplyTo(ActiveMQDestination.createDestination(address.toString(), ActiveMQDestination.QUEUE_TYPE)); + return this; + } + + @Override + public Message setBu
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16363940#comment-16363940 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r168166679 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessage.java --- @@ -0,0 +1,673 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.activemq.artemis.core.protocol.openwire; + +import javax.jms.JMSException; +import java.io.IOException; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.Set; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.ActiveMQException; +import org.apache.activemq.artemis.api.core.ActiveMQPropertyConversionException; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.Message; +import org.apache.activemq.artemis.api.core.RefCountMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.core.persistence.Persister; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.command.ActiveMQDestination; +import org.apache.activemq.command.ActiveMQMessage; +import org.apache.activemq.openwire.OpenWireFormat; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.wireformat.WireFormat; + +public class OpenWireMessage extends RefCountMessage { + + private org.apache.activemq.command.ActiveMQMessage message; + private WireFormat wireFormat; + ByteBuf data; + boolean bufferValid; + + + public OpenWireMessage(org.apache.activemq.command.ActiveMQMessage message, WireFormat wireFormat) { + this.message = message; + this.wireFormat = wireFormat; + try { + ByteSequence byteSequence = this.wireFormat.marshal(message); + setBuffer(Unpooled.copiedBuffer(byteSequence.getData(), byteSequence.getOffset(), byteSequence.getLength())); + } catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); + } + } + + public OpenWireMessage() { + } + + public void setMarsheller(WireFormat wireFormat) { + this.wireFormat = wireFormat; + } + + public ActiveMQMessage getAMQMessage() { + if (message == null) { + if (data != null) { +try { + message = (ActiveMQMessage) wireFormat.unmarshal(new ChannelBufferWrapper(data)); +} catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); +} +return message; + } else { +return new ActiveMQMessage(); + } + } + return message; + } + + @Override + public void messageChanged() { + } + + @Override + public Long getScheduledDeliveryTime() { + return message.getArrival(); + } + + @Override + public SimpleString getReplyTo() { + return SimpleString.toSimpleString(message.getReplyTo().getPhysicalName()); + } + + @Override + public Message setReplyTo(SimpleString address) { + message.setReplyTo(ActiveMQDestination.createDestination(address.toString(), ActiveMQDestination.QUEUE_TYPE)); + return this; + } + + @Override + public Message setBu
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16363936#comment-16363936 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r168166944 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessage.java --- @@ -0,0 +1,673 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.activemq.artemis.core.protocol.openwire; + +import javax.jms.JMSException; +import java.io.IOException; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.Set; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.ActiveMQException; +import org.apache.activemq.artemis.api.core.ActiveMQPropertyConversionException; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.Message; +import org.apache.activemq.artemis.api.core.RefCountMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.core.persistence.Persister; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.command.ActiveMQDestination; +import org.apache.activemq.command.ActiveMQMessage; +import org.apache.activemq.openwire.OpenWireFormat; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.wireformat.WireFormat; + +public class OpenWireMessage extends RefCountMessage { + + private org.apache.activemq.command.ActiveMQMessage message; + private WireFormat wireFormat; + ByteBuf data; + boolean bufferValid; + + + public OpenWireMessage(org.apache.activemq.command.ActiveMQMessage message, WireFormat wireFormat) { + this.message = message; + this.wireFormat = wireFormat; + try { + ByteSequence byteSequence = this.wireFormat.marshal(message); + setBuffer(Unpooled.copiedBuffer(byteSequence.getData(), byteSequence.getOffset(), byteSequence.getLength())); + } catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); + } + } + + public OpenWireMessage() { + } + + public void setMarsheller(WireFormat wireFormat) { + this.wireFormat = wireFormat; + } + + public ActiveMQMessage getAMQMessage() { + if (message == null) { + if (data != null) { +try { + message = (ActiveMQMessage) wireFormat.unmarshal(new ChannelBufferWrapper(data)); +} catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); +} +return message; + } else { +return new ActiveMQMessage(); + } + } + return message; + } + + @Override + public void messageChanged() { + } + + @Override + public Long getScheduledDeliveryTime() { + return message.getArrival(); + } + + @Override + public SimpleString getReplyTo() { + return SimpleString.toSimpleString(message.getReplyTo().getPhysicalName()); + } + + @Override + public Message setReplyTo(SimpleString address) { + message.setReplyTo(ActiveMQDestination.createDestination(address.toString(), ActiveMQDestination.QUEUE_TYPE)); + return this; + } + + @Override + public Message setBu
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16363941#comment-16363941 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r168166559 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessage.java --- @@ -0,0 +1,673 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.activemq.artemis.core.protocol.openwire; + +import javax.jms.JMSException; +import java.io.IOException; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.Set; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.ActiveMQException; +import org.apache.activemq.artemis.api.core.ActiveMQPropertyConversionException; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.Message; +import org.apache.activemq.artemis.api.core.RefCountMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.core.persistence.Persister; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.command.ActiveMQDestination; +import org.apache.activemq.command.ActiveMQMessage; +import org.apache.activemq.openwire.OpenWireFormat; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.wireformat.WireFormat; + +public class OpenWireMessage extends RefCountMessage { + + private org.apache.activemq.command.ActiveMQMessage message; + private WireFormat wireFormat; + ByteBuf data; + boolean bufferValid; + + + public OpenWireMessage(org.apache.activemq.command.ActiveMQMessage message, WireFormat wireFormat) { + this.message = message; + this.wireFormat = wireFormat; + try { + ByteSequence byteSequence = this.wireFormat.marshal(message); + setBuffer(Unpooled.copiedBuffer(byteSequence.getData(), byteSequence.getOffset(), byteSequence.getLength())); + } catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); + } + } + + public OpenWireMessage() { + } + + public void setMarsheller(WireFormat wireFormat) { + this.wireFormat = wireFormat; + } + + public ActiveMQMessage getAMQMessage() { + if (message == null) { + if (data != null) { +try { + message = (ActiveMQMessage) wireFormat.unmarshal(new ChannelBufferWrapper(data)); +} catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); +} +return message; + } else { +return new ActiveMQMessage(); + } + } + return message; + } + + @Override + public void messageChanged() { + } + + @Override + public Long getScheduledDeliveryTime() { + return message.getArrival(); + } + + @Override + public SimpleString getReplyTo() { + return SimpleString.toSimpleString(message.getReplyTo().getPhysicalName()); --- End diff -- Could use pool > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16363938#comment-16363938 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r168166465 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessage.java --- @@ -0,0 +1,673 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.activemq.artemis.core.protocol.openwire; + +import javax.jms.JMSException; +import java.io.IOException; +import java.util.Enumeration; +import java.util.HashSet; +import java.util.Set; + +import io.netty.buffer.ByteBuf; +import io.netty.buffer.Unpooled; +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.ActiveMQException; +import org.apache.activemq.artemis.api.core.ActiveMQPropertyConversionException; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.Message; +import org.apache.activemq.artemis.api.core.RefCountMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.core.persistence.Persister; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.command.ActiveMQDestination; +import org.apache.activemq.command.ActiveMQMessage; +import org.apache.activemq.openwire.OpenWireFormat; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.wireformat.WireFormat; + +public class OpenWireMessage extends RefCountMessage { + + private org.apache.activemq.command.ActiveMQMessage message; + private WireFormat wireFormat; + ByteBuf data; + boolean bufferValid; + + + public OpenWireMessage(org.apache.activemq.command.ActiveMQMessage message, WireFormat wireFormat) { + this.message = message; + this.wireFormat = wireFormat; + try { + ByteSequence byteSequence = this.wireFormat.marshal(message); + setBuffer(Unpooled.copiedBuffer(byteSequence.getData(), byteSequence.getOffset(), byteSequence.getLength())); + } catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); + } + } + + public OpenWireMessage() { + } + + public void setMarsheller(WireFormat wireFormat) { + this.wireFormat = wireFormat; + } + + public ActiveMQMessage getAMQMessage() { + if (message == null) { + if (data != null) { +try { + message = (ActiveMQMessage) wireFormat.unmarshal(new ChannelBufferWrapper(data)); +} catch (IOException e) { + throw new ActiveMQPropertyConversionException(e.getMessage()); +} +return message; + } else { +return new ActiveMQMessage(); + } + } + return message; + } + + @Override + public void messageChanged() { + } --- End diff -- Does this need implementing > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an em
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16363909#comment-16363909 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @RaiSaurabh @michaelandrepearce I've run a couple of benchmarks and the results are strange, perf wire the improvements are on par or (slightly) less than https://github.com/apache/activemq-artemis/pull/1849, but the number are "strange" eg: ``` 4 producers - 4 consumers EndToEnd Throughput: 145985 ops/sec EndToEnd SERVICE-TIME Latencies distribution in MICROSECONDS mean 10032775.17 min 220.74 50.00% 10066329.60 90.00% 10066329.60 99.00% 10066329.60 99.90% 10066329.60 99.99% 10066329.60 max10066329.60 count 40 - 1 producer - 1 consumer - EndToEnd Throughput: 78247 ops/sec EndToEnd SERVICE-TIME Latencies distribution in MICROSECONDS mean 10032775.17 min 220.74 50.00% 10066329.60 90.00% 10066329.60 99.00% 10066329.60 99.90% 10066329.60 99.99% 10066329.60 max10066329.60 count 10 ``` It is weird: the end-2-end latencies are stucked being ALWAYS the same with performances a little less from the PR above: probably there is something not working on message translation, please takes a look to the Open Wire tests to spot if everything is ok... > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16363866#comment-16363866 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @RaiSaurabh I'm doing some preliminary benchmarks to see if the number of buffer copies are decreased :+1: > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16363790#comment-16363790 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @franz1981 I have implemented the changes @michaelandrepearce requested. @michaelandrepearce could you please review it. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16363779#comment-16363779 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @RaiSaurabh Please check the @michaelandrepearce comments about this PR first :+1: > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16363708#comment-16363708 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @michaelandrepearce Looks like another issue with GIT repo. Could you please check. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16351087#comment-16351087 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 Here is a much more complete sample, i would be expecting to see (this is what i was meaning in the original PR comment on: #1793) ``` /** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.apache.activemq.artemis.core.protocol.openwire; import javax.jms.JMSException; import java.io.IOException; import java.util.Enumeration; import java.util.HashSet; import java.util.Set; import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBufUtil; import io.netty.buffer.UnpooledByteBufAllocator; import org.apache.activemq.artemis.api.core.ActiveMQBuffer; import org.apache.activemq.artemis.api.core.ActiveMQPropertyConversionException; import org.apache.activemq.artemis.api.core.ICoreMessage; import org.apache.activemq.artemis.api.core.Message; import org.apache.activemq.artemis.api.core.RefCountMessage; import org.apache.activemq.artemis.api.core.SimpleString; import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; import org.apache.activemq.artemis.core.persistence.Persister; import org.apache.activemq.command.ActiveMQDestination; import org.apache.activemq.command.ActiveMQMessage; import org.apache.activemq.util.ByteSequence; import org.apache.activemq.wireformat.WireFormat; public class OpenWireMessage extends RefCountMessage { private org.apache.activemq.command.ActiveMQMessage message; private WireFormat marshaller; public OpenWireMessage(org.apache.activemq.command.ActiveMQMessage message, WireFormat marshaller){ this.message = message; this.marshaller = marshaller; } @Override public void messageChanged() { } @Override public Long getScheduledDeliveryTime() { return message.getArrival(); } @Override public SimpleString getReplyTo() { return SimpleString.toSimpleString(message.getReplyTo().getPhysicalName()); } @Override public Message setReplyTo(SimpleString address) { message.setReplyTo(ActiveMQDestination.createDestination(address.toString(), ActiveMQDestination.QUEUE_TYPE)); return this; } @Override public Message setBuffer(ByteBuf buffer) { message.setContent(new ByteSequence(ByteBufUtil.getBytes(buffer))); return this; } @Override public ByteBuf getBuffer() { ByteBuf byteBuf = UnpooledByteBufAllocator.DEFAULT.buffer(message.getContent().getLength()); byteBuf.writeBytes(message.getContent().getData(), message.getContent().getOffset(), message.getContent().getLength()); return byteBuf; } @Override public Message copy() { return new OpenWireMessage((ActiveMQMessage)message.copy(), marshaller); } @Override public Message copy(long newID) { OpenWireMessage copy = new OpenWireMessage((ActiveMQMessage)message.copy(), marshaller); copy.setMessageID(newID); return copy; } @Override public long getMessageID() { return message.getMessageId().getBrokerSequenceId(); } @Override public Message setMessageID(long id) { message.getMessageId().setBrokerSequenceId(id); return this; } @Override public long getExpiration() { return message.getExpiration(); } @Override public Message setExpiration(long expiration) { message.setExpiration(expiration); return this; } @Override public Object getUserID() { return message.ge
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16351022#comment-16351022 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 Copied from example i gave originally: https://github.com/apache/activemq-artemis/pull/1793 e.g. along this line. public class OpenwireMessage extends RefCountMessage { org.apache.activemq.command.Message message; public OpenwireMessage(org.apache.activemq.command.Message message){ this.message = message; } @Override public SimpleString getReplyTo() { return SimpleString.toSimpleString(message.getReplyTo().getPhysicalName()); } @Override public Message setReplyTo(SimpleString address) { message.setReplyTo(ActiveMQDestination.createDestination(address.toString(), ActiveMQDestination.QUEUE_TYPE)); return this; } @Override public Object getUserID() { return message.getUserID(); } @Override public Message setUserID(Object userID) { message.setUserID(userID.toString()); return this; } @Override public boolean isDurable() { return message.isPersistent(); } @Override public Message setDurable(boolean durable) { message.setPersistent(durable); return this; } . } > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16351001#comment-16351001 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @RaiSaurabh @franz1981 I just got some perf results back on this, and its not pretty. (i retract my prev comments (i deleted) After looking again it seems like all this is, is a clone of the CoreMessage, and still on send / inbound, its being converted from 5.x Message to this, instead of taking the underlying, as such its adding more overhead. The intent of a native Message type, is that it holds the protocol specific objects internally as much as possible an operates/delegates to them, meaning that if on consume there was no changes or anything the same protocol specific object can be fired back out. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16350989#comment-16350989 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @franz1981 im happy to do the merge, but i would like a thumbs up from you before i do. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16350986#comment-16350986 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @RaiSaurabh looks really good to me, as noted by @franz1981 there is quite a few bits to optimise, but i personally would prefer we merge this (as long as no functional regressions - which i cannot spot). This way we can all chip in a little on the optimisations over the next week with small little PR's (using the same JIRA) @franz1981 any objection to this approach? > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16350982#comment-16350982 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165769403 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessageConverter.java --- @@ -128,389 +110,159 @@ public Object outbound(org.apache.activemq.artemis.api.core.Message message, int final WireFormat marshaller, final CoreMessageObjectPools coreMessageObjectPools) throws Exception { - final CoreMessage coreMessage = new CoreMessage(-1, messageSend.getSize(), coreMessageObjectPools); + final OpenWireMessage openwireMessage = new OpenWireMessage(-1, messageSend.getSize(), coreMessageObjectPools); final String type = messageSend.getType(); if (type != null) { - coreMessage.putStringProperty(JMS_TYPE_PROPERTY, new SimpleString(type)); + openwireMessage.putStringProperty(JMS_TYPE_PROPERTY, new SimpleString(type)); } - coreMessage.setDurable(messageSend.isPersistent()); - coreMessage.setExpiration(messageSend.getExpiration()); - coreMessage.setPriority(messageSend.getPriority()); - coreMessage.setTimestamp(messageSend.getTimestamp()); - - final byte coreType = toCoreType(messageSend.getDataStructureType()); - coreMessage.setType(coreType); + openwireMessage.setMessageSize(messageSend.getSize()); + openwireMessage.setDurable(messageSend.isPersistent()); + openwireMessage.setExpiration(messageSend.getExpiration()); + openwireMessage.setPriority(messageSend.getPriority()); + openwireMessage.setTimestamp(messageSend.getTimestamp()); - final ActiveMQBuffer body = coreMessage.getBodyBuffer(); + final byte coreType = OpenWireCoreConverter.toCoreType(messageSend.getDataStructureType()); + openwireMessage.setType(coreType); - final ByteSequence contents = messageSend.getContent(); - if (contents == null && coreType == org.apache.activemq.artemis.api.core.Message.TEXT_TYPE) { - body.writeNullableString(null); - } else if (contents != null) { - final boolean messageCompressed = messageSend.isCompressed(); - if (messageCompressed) { -coreMessage.putBooleanProperty(AMQ_MSG_COMPRESSED, messageCompressed); - } - - switch (coreType) { -case org.apache.activemq.artemis.api.core.Message.TEXT_TYPE: - writeTextType(contents, messageCompressed, body); - break; -case org.apache.activemq.artemis.api.core.Message.MAP_TYPE: - writeMapType(contents, messageCompressed, body); - break; -case org.apache.activemq.artemis.api.core.Message.OBJECT_TYPE: - writeObjectType(contents, messageCompressed, body); - break; -case org.apache.activemq.artemis.api.core.Message.STREAM_TYPE: - writeStreamType(contents, messageCompressed, body); - break; -case org.apache.activemq.artemis.api.core.Message.BYTES_TYPE: - writeBytesType(contents, messageCompressed, body); - break; -default: - writeDefaultType(contents, messageCompressed, body); - break; - } + final ActiveMQBuffer body = openwireMessage.getBodyBuffer(); + final boolean messageCompressed = messageSend.isCompressed(); + if (messageCompressed) { + openwireMessage.putBooleanProperty(AMQ_MSG_COMPRESSED, messageCompressed); } + final ByteSequence contents = messageSend.getContent(); + OpenWireCoreConverter.writeContentIntoBody(body, contents, coreType, messageCompressed); //amq specific - coreMessage.putLongProperty(AMQ_MSG_ARRIVAL, messageSend.getArrival()); - coreMessage.putLongProperty(AMQ_MSG_BROKER_IN_TIME, messageSend.getBrokerInTime()); + openwireMessage.putLongProperty(AMQ_MSG_ARRIVAL, messageSend.getArrival()); + openwireMessage.putLongProperty(AMQ_MSG_BROKER_IN_TIME, messageSend.getBrokerInTime()); final BrokerId[] brokers = messageSend.getBrokerPath(); if (brokers != null) { - putMsgBrokerPath(brokers, coreMessage); + putMsgBroker
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16350980#comment-16350980 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165768988 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessage.java --- @@ -0,0 +1,1152 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.activemq.artemis.core.protocol.openwire; +import java.io.InputStream; +import java.nio.ByteBuffer; +import java.util.LinkedList; +import java.util.Set; + +import io.netty.buffer.ByteBuf; +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.ActiveMQBuffers; +import org.apache.activemq.artemis.api.core.ActiveMQException; +import org.apache.activemq.artemis.api.core.ActiveMQPropertyConversionException; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.Message; +import org.apache.activemq.artemis.api.core.RefCountMessage; +import org.apache.activemq.artemis.api.core.RoutingType; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper; +import org.apache.activemq.artemis.core.buffers.impl.ResetLimitWrappedActiveMQBuffer; +import org.apache.activemq.artemis.core.message.LargeBodyEncoder; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.core.persistence.Persister; +import org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl; +import org.apache.activemq.artemis.reader.MessageUtil; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.artemis.utils.UUID; +import org.apache.activemq.artemis.utils.collections.TypedProperties; +import org.jboss.logging.Logger; + +/** Note: you shouldn't change properties using multi-threads. Change your properties before you can send it to multiple + * consumers */ +public class OpenWireMessage extends RefCountMessage { + public static final int BUFFER_HEADER_SPACE = PacketImpl.PACKET_HEADERS_SIZE; + + private volatile int memoryEstimate = -1; + private static final Logger logger = Logger.getLogger(OpenWireMessage.class); + + // There's an integer with the number of bytes for the body + public static final int BODY_OFFSET = DataConstants.SIZE_INT; + + /** That is the encode for the whole message, including properties.. + it does not include the buffer for the Packet send and receive header on core protocol */ + protected ByteBuf buffer; + + private volatile boolean validBuffer = false; --- End diff -- Lets merge it, and then sort it later IMO. Im keen to get this big PR in, as long as functional and no-regressions im happy personally. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --addres
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16350979#comment-16350979 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165768705 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireCoreConverter.java --- @@ -0,0 +1,572 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.protocol.openwire; + +import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Arrays; +import java.util.Map; +import java.util.Set; +import java.util.Map.Entry; +import java.util.zip.Deflater; +import java.util.zip.DeflaterOutputStream; +import java.util.zip.Inflater; +import java.util.zip.InflaterInputStream; +import java.util.zip.InflaterOutputStream; + +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.FilterConstants; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.message.impl.CoreMessage; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.reader.MessageUtil; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.artemis.utils.collections.TypedProperties; +import org.apache.activemq.command.CommandTypes; +import org.apache.activemq.util.ByteArrayInputStream; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.util.ByteSequenceData; +import org.apache.activemq.util.MarshallingSupport; +import org.fusesource.hawtbuf.UTF8Buffer; + +public class OpenWireCoreConverter { + public static final SimpleString JMS_GROUPSEQ = new SimpleString("JMSXGroupSequence"); + public static final SimpleString JMS_XGROUPSEQ = new SimpleString("JMSXGroupSeq"); + public static final SimpleString JMS_GROUPID = new SimpleString("JMSXGroupID"); + private static final SimpleString AMQP_REPLYTOGROUPID = new SimpleString("JMS_AMQP_ReplyToGroupID"); + public static final SimpleString JMS_CONTENT_TYPE = new SimpleString("JMS_AMQP_ContentType"); + private static final SimpleString AMQP_CONTETTYPE = new SimpleString("JMS_AMQP_CONTENT_TYPE"); + + public static ICoreMessage toCore(final OpenWireMessage openwireMessage, final CoreMessageObjectPools coreMessageObjectPools) + throws Exception { + CoreMessage coreMessage = new CoreMessage(-1, openwireMessage.getMessageSize(), coreMessageObjectPools); + final SimpleString type = openwireMessage.getSimpleStringProperty(OpenWireMessageConverter.JMS_TYPE_PROPERTY); + if (type != null) { + coreMessage.putStringProperty(OpenWireMessageConverter.JMS_TYPE_PROPERTY, type); + } + coreMessage.setDurable(openwireMessage.isDurable()); + coreMessage.setExpiration(openwireMessage.getExpiration()); + coreMessage.setPriority(openwireMessage.getPriority()); + coreMessage.setTimestamp(openwireMessage.getTimestamp()); + final ActiveMQBuffer openWireMessageBuffer = openwireMessage.getReadOnlyBodyBuffer(); + final boolean isCompressed = openwireMessage.getBooleanProperty(OpenWireMessageConverter.AMQ_MSG_COMPRESSED); + final byte coreType = openwireMessage.getType(); + coreMessage.setType(coreType); + openWireMessageBuffer.resetReaderIndex(); + final byte[] bytes; + bytes = readContentFromBody(openWireMessageBuffer, coreType, isCompressed); +
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16350977#comment-16350977 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165768314 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireCoreConverter.java --- @@ -0,0 +1,572 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.protocol.openwire; + +import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Arrays; +import java.util.Map; +import java.util.Set; +import java.util.Map.Entry; +import java.util.zip.Deflater; +import java.util.zip.DeflaterOutputStream; +import java.util.zip.Inflater; +import java.util.zip.InflaterInputStream; +import java.util.zip.InflaterOutputStream; + +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.FilterConstants; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.message.impl.CoreMessage; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.reader.MessageUtil; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.artemis.utils.collections.TypedProperties; +import org.apache.activemq.command.CommandTypes; +import org.apache.activemq.util.ByteArrayInputStream; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.util.ByteSequenceData; +import org.apache.activemq.util.MarshallingSupport; +import org.fusesource.hawtbuf.UTF8Buffer; + +public class OpenWireCoreConverter { + public static final SimpleString JMS_GROUPSEQ = new SimpleString("JMSXGroupSequence"); + public static final SimpleString JMS_XGROUPSEQ = new SimpleString("JMSXGroupSeq"); + public static final SimpleString JMS_GROUPID = new SimpleString("JMSXGroupID"); + private static final SimpleString AMQP_REPLYTOGROUPID = new SimpleString("JMS_AMQP_ReplyToGroupID"); + public static final SimpleString JMS_CONTENT_TYPE = new SimpleString("JMS_AMQP_ContentType"); + private static final SimpleString AMQP_CONTETTYPE = new SimpleString("JMS_AMQP_CONTENT_TYPE"); + + public static ICoreMessage toCore(final OpenWireMessage openwireMessage, final CoreMessageObjectPools coreMessageObjectPools) + throws Exception { + CoreMessage coreMessage = new CoreMessage(-1, openwireMessage.getMessageSize(), coreMessageObjectPools); + final SimpleString type = openwireMessage.getSimpleStringProperty(OpenWireMessageConverter.JMS_TYPE_PROPERTY); + if (type != null) { + coreMessage.putStringProperty(OpenWireMessageConverter.JMS_TYPE_PROPERTY, type); + } + coreMessage.setDurable(openwireMessage.isDurable()); + coreMessage.setExpiration(openwireMessage.getExpiration()); + coreMessage.setPriority(openwireMessage.getPriority()); + coreMessage.setTimestamp(openwireMessage.getTimestamp()); + final ActiveMQBuffer openWireMessageBuffer = openwireMessage.getReadOnlyBodyBuffer(); + final boolean isCompressed = openwireMessage.getBooleanProperty(OpenWireMessageConverter.AMQ_MSG_COMPRESSED); + final byte coreType = openwireMessage.getType(); + coreMessage.setType(coreType); + openWireMessageBuffer.resetReaderIndex(); + final byte[] bytes; + bytes = readContentFromBody(openWireMessageBuffer, coreType, isCompressed); +
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16350976#comment-16350976 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165767867 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessageConverter.java --- @@ -128,389 +110,159 @@ public Object outbound(org.apache.activemq.artemis.api.core.Message message, int final WireFormat marshaller, final CoreMessageObjectPools coreMessageObjectPools) throws Exception { - final CoreMessage coreMessage = new CoreMessage(-1, messageSend.getSize(), coreMessageObjectPools); + final OpenWireMessage openwireMessage = new OpenWireMessage(-1, messageSend.getSize(), coreMessageObjectPools); final String type = messageSend.getType(); if (type != null) { - coreMessage.putStringProperty(JMS_TYPE_PROPERTY, new SimpleString(type)); + openwireMessage.putStringProperty(JMS_TYPE_PROPERTY, new SimpleString(type)); } - coreMessage.setDurable(messageSend.isPersistent()); - coreMessage.setExpiration(messageSend.getExpiration()); - coreMessage.setPriority(messageSend.getPriority()); - coreMessage.setTimestamp(messageSend.getTimestamp()); - - final byte coreType = toCoreType(messageSend.getDataStructureType()); - coreMessage.setType(coreType); + openwireMessage.setMessageSize(messageSend.getSize()); + openwireMessage.setDurable(messageSend.isPersistent()); + openwireMessage.setExpiration(messageSend.getExpiration()); + openwireMessage.setPriority(messageSend.getPriority()); + openwireMessage.setTimestamp(messageSend.getTimestamp()); - final ActiveMQBuffer body = coreMessage.getBodyBuffer(); + final byte coreType = OpenWireCoreConverter.toCoreType(messageSend.getDataStructureType()); + openwireMessage.setType(coreType); - final ByteSequence contents = messageSend.getContent(); - if (contents == null && coreType == org.apache.activemq.artemis.api.core.Message.TEXT_TYPE) { - body.writeNullableString(null); - } else if (contents != null) { - final boolean messageCompressed = messageSend.isCompressed(); - if (messageCompressed) { -coreMessage.putBooleanProperty(AMQ_MSG_COMPRESSED, messageCompressed); - } - - switch (coreType) { -case org.apache.activemq.artemis.api.core.Message.TEXT_TYPE: - writeTextType(contents, messageCompressed, body); - break; -case org.apache.activemq.artemis.api.core.Message.MAP_TYPE: - writeMapType(contents, messageCompressed, body); - break; -case org.apache.activemq.artemis.api.core.Message.OBJECT_TYPE: - writeObjectType(contents, messageCompressed, body); - break; -case org.apache.activemq.artemis.api.core.Message.STREAM_TYPE: - writeStreamType(contents, messageCompressed, body); - break; -case org.apache.activemq.artemis.api.core.Message.BYTES_TYPE: - writeBytesType(contents, messageCompressed, body); - break; -default: - writeDefaultType(contents, messageCompressed, body); - break; - } + final ActiveMQBuffer body = openwireMessage.getBodyBuffer(); + final boolean messageCompressed = messageSend.isCompressed(); + if (messageCompressed) { + openwireMessage.putBooleanProperty(AMQ_MSG_COMPRESSED, messageCompressed); } + final ByteSequence contents = messageSend.getContent(); + OpenWireCoreConverter.writeContentIntoBody(body, contents, coreType, messageCompressed); //amq specific - coreMessage.putLongProperty(AMQ_MSG_ARRIVAL, messageSend.getArrival()); - coreMessage.putLongProperty(AMQ_MSG_BROKER_IN_TIME, messageSend.getBrokerInTime()); + openwireMessage.putLongProperty(AMQ_MSG_ARRIVAL, messageSend.getArrival()); + openwireMessage.putLongProperty(AMQ_MSG_BROKER_IN_TIME, messageSend.getBrokerInTime()); final BrokerId[] brokers = messageSend.getBrokerPath(); if (brokers != null) { - putMsgBrokerPath(brokers, coreMessage); + putMsgBroker
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16350110#comment-16350110 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165608418 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessageConverter.java --- @@ -576,308 +334,54 @@ private static ActiveMQMessage toAMQMessage(MessageReference reference, amqMsg.setExpiration(coreMessage.getExpiration()); amqMsg.setPriority(coreMessage.getPriority()); amqMsg.setTimestamp(coreMessage.getTimestamp()); - - Long brokerInTime = (Long) coreMessage.getObjectProperty(AMQ_MSG_BROKER_IN_TIME); - if (brokerInTime == null) { - brokerInTime = 0L; - } - amqMsg.setBrokerInTime(brokerInTime); - amqMsg.setCompressed(isCompressed); - //we need check null because messages may come from other clients - //and those amq specific attribute may not be set. - Long arrival = (Long) coreMessage.getObjectProperty(AMQ_MSG_ARRIVAL); - if (arrival == null) { - //messages from other sources (like core client) may not set this prop - arrival = 0L; - } - amqMsg.setArrival(arrival); - - final String brokerPath = (String) coreMessage.getObjectProperty(AMQ_MSG_BROKER_PATH); - if (brokerPath != null && !brokerPath.isEmpty()) { - setAMQMsgBrokerPath(amqMsg, brokerPath); - } - - final String clusterPath = (String) coreMessage.getObjectProperty(AMQ_MSG_CLUSTER); - if (clusterPath != null && !clusterPath.isEmpty()) { - setAMQMsgClusterPath(amqMsg, clusterPath); - } - - Integer commandId = (Integer) coreMessage.getObjectProperty(AMQ_MSG_COMMAND_ID); - if (commandId == null) { - commandId = -1; - } - amqMsg.setCommandId(commandId); - final SimpleString corrId = (SimpleString) coreMessage.getObjectProperty(JMS_CORRELATION_ID_PROPERTY); if (corrId != null) { amqMsg.setCorrelationId(corrId.toString()); } - final byte[] dsBytes = (byte[]) coreMessage.getObjectProperty(AMQ_MSG_DATASTRUCTURE); - if (dsBytes != null) { - setAMQMsgDataStructure(amqMsg, marshaller, dsBytes); - } - final ActiveMQDestination actualDestination = consumer.getOpenwireDestination(); - amqMsg.setDestination(OpenWireUtil.toAMQAddress(coreMessage, actualDestination)); - - final Object value = coreMessage.getGroupID(); --- End diff -- It is `SimpleString` to could be used the exact type instead of `Object` > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apa
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16350102#comment-16350102 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165606383 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessageConverter.java --- @@ -128,389 +110,159 @@ public Object outbound(org.apache.activemq.artemis.api.core.Message message, int final WireFormat marshaller, final CoreMessageObjectPools coreMessageObjectPools) throws Exception { - final CoreMessage coreMessage = new CoreMessage(-1, messageSend.getSize(), coreMessageObjectPools); + final OpenWireMessage openwireMessage = new OpenWireMessage(-1, messageSend.getSize(), coreMessageObjectPools); final String type = messageSend.getType(); if (type != null) { - coreMessage.putStringProperty(JMS_TYPE_PROPERTY, new SimpleString(type)); + openwireMessage.putStringProperty(JMS_TYPE_PROPERTY, new SimpleString(type)); } - coreMessage.setDurable(messageSend.isPersistent()); - coreMessage.setExpiration(messageSend.getExpiration()); - coreMessage.setPriority(messageSend.getPriority()); - coreMessage.setTimestamp(messageSend.getTimestamp()); - - final byte coreType = toCoreType(messageSend.getDataStructureType()); - coreMessage.setType(coreType); + openwireMessage.setMessageSize(messageSend.getSize()); + openwireMessage.setDurable(messageSend.isPersistent()); + openwireMessage.setExpiration(messageSend.getExpiration()); + openwireMessage.setPriority(messageSend.getPriority()); + openwireMessage.setTimestamp(messageSend.getTimestamp()); - final ActiveMQBuffer body = coreMessage.getBodyBuffer(); + final byte coreType = OpenWireCoreConverter.toCoreType(messageSend.getDataStructureType()); + openwireMessage.setType(coreType); - final ByteSequence contents = messageSend.getContent(); - if (contents == null && coreType == org.apache.activemq.artemis.api.core.Message.TEXT_TYPE) { - body.writeNullableString(null); - } else if (contents != null) { - final boolean messageCompressed = messageSend.isCompressed(); - if (messageCompressed) { -coreMessage.putBooleanProperty(AMQ_MSG_COMPRESSED, messageCompressed); - } - - switch (coreType) { -case org.apache.activemq.artemis.api.core.Message.TEXT_TYPE: - writeTextType(contents, messageCompressed, body); - break; -case org.apache.activemq.artemis.api.core.Message.MAP_TYPE: - writeMapType(contents, messageCompressed, body); - break; -case org.apache.activemq.artemis.api.core.Message.OBJECT_TYPE: - writeObjectType(contents, messageCompressed, body); - break; -case org.apache.activemq.artemis.api.core.Message.STREAM_TYPE: - writeStreamType(contents, messageCompressed, body); - break; -case org.apache.activemq.artemis.api.core.Message.BYTES_TYPE: - writeBytesType(contents, messageCompressed, body); - break; -default: - writeDefaultType(contents, messageCompressed, body); - break; - } + final ActiveMQBuffer body = openwireMessage.getBodyBuffer(); + final boolean messageCompressed = messageSend.isCompressed(); + if (messageCompressed) { + openwireMessage.putBooleanProperty(AMQ_MSG_COMPRESSED, messageCompressed); } + final ByteSequence contents = messageSend.getContent(); + OpenWireCoreConverter.writeContentIntoBody(body, contents, coreType, messageCompressed); //amq specific - coreMessage.putLongProperty(AMQ_MSG_ARRIVAL, messageSend.getArrival()); - coreMessage.putLongProperty(AMQ_MSG_BROKER_IN_TIME, messageSend.getBrokerInTime()); + openwireMessage.putLongProperty(AMQ_MSG_ARRIVAL, messageSend.getArrival()); + openwireMessage.putLongProperty(AMQ_MSG_BROKER_IN_TIME, messageSend.getBrokerInTime()); final BrokerId[] brokers = messageSend.getBrokerPath(); if (brokers != null) { - putMsgBrokerPath(brokers, coreMessage); + putMsgBrokerPath(brok
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16350113#comment-16350113 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165609280 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessagePersister.java --- @@ -0,0 +1,64 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.protocol.openwire; + +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.Message; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.persistence.Persister; +import org.apache.activemq.artemis.utils.DataConstants; + +public enum OpenWireMessagePersister implements Persister { + + INSTANCE; + public static final byte ID = 2; + + public static OpenWireMessagePersister getInstance() { --- End diff -- optional: this method is not neede anymore > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16350093#comment-16350093 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165604393 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessage.java --- @@ -0,0 +1,1152 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.activemq.artemis.core.protocol.openwire; +import java.io.InputStream; +import java.nio.ByteBuffer; +import java.util.LinkedList; +import java.util.Set; + +import io.netty.buffer.ByteBuf; +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.ActiveMQBuffers; +import org.apache.activemq.artemis.api.core.ActiveMQException; +import org.apache.activemq.artemis.api.core.ActiveMQPropertyConversionException; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.Message; +import org.apache.activemq.artemis.api.core.RefCountMessage; +import org.apache.activemq.artemis.api.core.RoutingType; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper; +import org.apache.activemq.artemis.core.buffers.impl.ResetLimitWrappedActiveMQBuffer; +import org.apache.activemq.artemis.core.message.LargeBodyEncoder; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.core.persistence.Persister; +import org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl; +import org.apache.activemq.artemis.reader.MessageUtil; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.artemis.utils.UUID; +import org.apache.activemq.artemis.utils.collections.TypedProperties; +import org.jboss.logging.Logger; + +/** Note: you shouldn't change properties using multi-threads. Change your properties before you can send it to multiple + * consumers */ +public class OpenWireMessage extends RefCountMessage { + public static final int BUFFER_HEADER_SPACE = PacketImpl.PACKET_HEADERS_SIZE; + + private volatile int memoryEstimate = -1; + private static final Logger logger = Logger.getLogger(OpenWireMessage.class); + + // There's an integer with the number of bytes for the body + public static final int BODY_OFFSET = DataConstants.SIZE_INT; + + /** That is the encode for the whole message, including properties.. + it does not include the buffer for the Packet send and receive header on core protocol */ + protected ByteBuf buffer; + + private volatile boolean validBuffer = false; --- End diff -- optional but (very) wellcome: `volatile` and `synchronized` has a big cost on hot paths (even if uncontended) so please evaluate which properties/methods could avoid using them on hot paths. I know that the original current `CoreMessage` hasn't fixed yet on this aspect, but it would be great to have this one right from the start :+1: @michaelandrepearce wdyt? > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16350091#comment-16350091 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165603319 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessage.java --- @@ -0,0 +1,1152 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.activemq.artemis.core.protocol.openwire; +import java.io.InputStream; +import java.nio.ByteBuffer; +import java.util.LinkedList; +import java.util.Set; + +import io.netty.buffer.ByteBuf; +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.ActiveMQBuffers; +import org.apache.activemq.artemis.api.core.ActiveMQException; +import org.apache.activemq.artemis.api.core.ActiveMQPropertyConversionException; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.Message; +import org.apache.activemq.artemis.api.core.RefCountMessage; +import org.apache.activemq.artemis.api.core.RoutingType; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper; +import org.apache.activemq.artemis.core.buffers.impl.ResetLimitWrappedActiveMQBuffer; +import org.apache.activemq.artemis.core.message.LargeBodyEncoder; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.core.persistence.Persister; +import org.apache.activemq.artemis.core.protocol.core.impl.PacketImpl; +import org.apache.activemq.artemis.reader.MessageUtil; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.artemis.utils.UUID; +import org.apache.activemq.artemis.utils.collections.TypedProperties; +import org.jboss.logging.Logger; + +/** Note: you shouldn't change properties using multi-threads. Change your properties before you can send it to multiple + * consumers */ +public class OpenWireMessage extends RefCountMessage { --- End diff -- optional: If it is not meant to be subclassed makes it `final` and let `protected` fields become `private` to reduce visibility > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clie
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16350086#comment-16350086 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165602190 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireCoreConverter.java --- @@ -0,0 +1,572 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.protocol.openwire; + +import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Arrays; +import java.util.Map; +import java.util.Set; +import java.util.Map.Entry; +import java.util.zip.Deflater; +import java.util.zip.DeflaterOutputStream; +import java.util.zip.Inflater; +import java.util.zip.InflaterInputStream; +import java.util.zip.InflaterOutputStream; + +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.FilterConstants; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.message.impl.CoreMessage; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.reader.MessageUtil; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.artemis.utils.collections.TypedProperties; +import org.apache.activemq.command.CommandTypes; +import org.apache.activemq.util.ByteArrayInputStream; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.util.ByteSequenceData; +import org.apache.activemq.util.MarshallingSupport; +import org.fusesource.hawtbuf.UTF8Buffer; + +public class OpenWireCoreConverter { + public static final SimpleString JMS_GROUPSEQ = new SimpleString("JMSXGroupSequence"); + public static final SimpleString JMS_XGROUPSEQ = new SimpleString("JMSXGroupSeq"); + public static final SimpleString JMS_GROUPID = new SimpleString("JMSXGroupID"); + private static final SimpleString AMQP_REPLYTOGROUPID = new SimpleString("JMS_AMQP_ReplyToGroupID"); + public static final SimpleString JMS_CONTENT_TYPE = new SimpleString("JMS_AMQP_ContentType"); + private static final SimpleString AMQP_CONTETTYPE = new SimpleString("JMS_AMQP_CONTENT_TYPE"); + + public static ICoreMessage toCore(final OpenWireMessage openwireMessage, final CoreMessageObjectPools coreMessageObjectPools) + throws Exception { + CoreMessage coreMessage = new CoreMessage(-1, openwireMessage.getMessageSize(), coreMessageObjectPools); + final SimpleString type = openwireMessage.getSimpleStringProperty(OpenWireMessageConverter.JMS_TYPE_PROPERTY); + if (type != null) { + coreMessage.putStringProperty(OpenWireMessageConverter.JMS_TYPE_PROPERTY, type); + } + coreMessage.setDurable(openwireMessage.isDurable()); + coreMessage.setExpiration(openwireMessage.getExpiration()); + coreMessage.setPriority(openwireMessage.getPriority()); + coreMessage.setTimestamp(openwireMessage.getTimestamp()); + final ActiveMQBuffer openWireMessageBuffer = openwireMessage.getReadOnlyBodyBuffer(); + final boolean isCompressed = openwireMessage.getBooleanProperty(OpenWireMessageConverter.AMQ_MSG_COMPRESSED); + final byte coreType = openwireMessage.getType(); + coreMessage.setType(coreType); + openWireMessageBuffer.resetReaderIndex(); + final byte[] bytes; + bytes = readContentFromBody(openWireMessageBuffer, coreType, isCompressed); + if (
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16350085#comment-16350085 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165602075 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireCoreConverter.java --- @@ -0,0 +1,572 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.protocol.openwire; + +import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Arrays; +import java.util.Map; +import java.util.Set; +import java.util.Map.Entry; +import java.util.zip.Deflater; +import java.util.zip.DeflaterOutputStream; +import java.util.zip.Inflater; +import java.util.zip.InflaterInputStream; +import java.util.zip.InflaterOutputStream; + +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.FilterConstants; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.message.impl.CoreMessage; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.reader.MessageUtil; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.artemis.utils.collections.TypedProperties; +import org.apache.activemq.command.CommandTypes; +import org.apache.activemq.util.ByteArrayInputStream; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.util.ByteSequenceData; +import org.apache.activemq.util.MarshallingSupport; +import org.fusesource.hawtbuf.UTF8Buffer; + +public class OpenWireCoreConverter { + public static final SimpleString JMS_GROUPSEQ = new SimpleString("JMSXGroupSequence"); + public static final SimpleString JMS_XGROUPSEQ = new SimpleString("JMSXGroupSeq"); + public static final SimpleString JMS_GROUPID = new SimpleString("JMSXGroupID"); + private static final SimpleString AMQP_REPLYTOGROUPID = new SimpleString("JMS_AMQP_ReplyToGroupID"); + public static final SimpleString JMS_CONTENT_TYPE = new SimpleString("JMS_AMQP_ContentType"); + private static final SimpleString AMQP_CONTETTYPE = new SimpleString("JMS_AMQP_CONTENT_TYPE"); + + public static ICoreMessage toCore(final OpenWireMessage openwireMessage, final CoreMessageObjectPools coreMessageObjectPools) + throws Exception { + CoreMessage coreMessage = new CoreMessage(-1, openwireMessage.getMessageSize(), coreMessageObjectPools); + final SimpleString type = openwireMessage.getSimpleStringProperty(OpenWireMessageConverter.JMS_TYPE_PROPERTY); + if (type != null) { + coreMessage.putStringProperty(OpenWireMessageConverter.JMS_TYPE_PROPERTY, type); + } + coreMessage.setDurable(openwireMessage.isDurable()); + coreMessage.setExpiration(openwireMessage.getExpiration()); + coreMessage.setPriority(openwireMessage.getPriority()); + coreMessage.setTimestamp(openwireMessage.getTimestamp()); + final ActiveMQBuffer openWireMessageBuffer = openwireMessage.getReadOnlyBodyBuffer(); + final boolean isCompressed = openwireMessage.getBooleanProperty(OpenWireMessageConverter.AMQ_MSG_COMPRESSED); + final byte coreType = openwireMessage.getType(); + coreMessage.setType(coreType); + openWireMessageBuffer.resetReaderIndex(); + final byte[] bytes; + bytes = readContentFromBody(openWireMessageBuffer, coreType, isCompressed); + if (
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16350084#comment-16350084 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165601509 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireCoreConverter.java --- @@ -0,0 +1,572 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.protocol.openwire; + +import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Arrays; +import java.util.Map; +import java.util.Set; +import java.util.Map.Entry; +import java.util.zip.Deflater; +import java.util.zip.DeflaterOutputStream; +import java.util.zip.Inflater; +import java.util.zip.InflaterInputStream; +import java.util.zip.InflaterOutputStream; + +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.FilterConstants; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.message.impl.CoreMessage; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.reader.MessageUtil; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.artemis.utils.collections.TypedProperties; +import org.apache.activemq.command.CommandTypes; +import org.apache.activemq.util.ByteArrayInputStream; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.util.ByteSequenceData; +import org.apache.activemq.util.MarshallingSupport; +import org.fusesource.hawtbuf.UTF8Buffer; + +public class OpenWireCoreConverter { + public static final SimpleString JMS_GROUPSEQ = new SimpleString("JMSXGroupSequence"); + public static final SimpleString JMS_XGROUPSEQ = new SimpleString("JMSXGroupSeq"); + public static final SimpleString JMS_GROUPID = new SimpleString("JMSXGroupID"); + private static final SimpleString AMQP_REPLYTOGROUPID = new SimpleString("JMS_AMQP_ReplyToGroupID"); + public static final SimpleString JMS_CONTENT_TYPE = new SimpleString("JMS_AMQP_ContentType"); + private static final SimpleString AMQP_CONTETTYPE = new SimpleString("JMS_AMQP_CONTENT_TYPE"); + + public static ICoreMessage toCore(final OpenWireMessage openwireMessage, final CoreMessageObjectPools coreMessageObjectPools) + throws Exception { + CoreMessage coreMessage = new CoreMessage(-1, openwireMessage.getMessageSize(), coreMessageObjectPools); + final SimpleString type = openwireMessage.getSimpleStringProperty(OpenWireMessageConverter.JMS_TYPE_PROPERTY); + if (type != null) { + coreMessage.putStringProperty(OpenWireMessageConverter.JMS_TYPE_PROPERTY, type); + } + coreMessage.setDurable(openwireMessage.isDurable()); + coreMessage.setExpiration(openwireMessage.getExpiration()); + coreMessage.setPriority(openwireMessage.getPriority()); + coreMessage.setTimestamp(openwireMessage.getTimestamp()); + final ActiveMQBuffer openWireMessageBuffer = openwireMessage.getReadOnlyBodyBuffer(); + final boolean isCompressed = openwireMessage.getBooleanProperty(OpenWireMessageConverter.AMQ_MSG_COMPRESSED); + final byte coreType = openwireMessage.getType(); + coreMessage.setType(coreType); + openWireMessageBuffer.resetReaderIndex(); + final byte[] bytes; + bytes = readContentFromBody(openWireMessageBuffer, coreType, isCompressed); + if (
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16350081#comment-16350081 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165600483 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireCoreConverter.java --- @@ -0,0 +1,572 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.protocol.openwire; + +import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Arrays; +import java.util.Map; +import java.util.Set; +import java.util.Map.Entry; +import java.util.zip.Deflater; +import java.util.zip.DeflaterOutputStream; +import java.util.zip.Inflater; +import java.util.zip.InflaterInputStream; +import java.util.zip.InflaterOutputStream; + +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.FilterConstants; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.message.impl.CoreMessage; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.reader.MessageUtil; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.artemis.utils.collections.TypedProperties; +import org.apache.activemq.command.CommandTypes; +import org.apache.activemq.util.ByteArrayInputStream; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.util.ByteSequenceData; +import org.apache.activemq.util.MarshallingSupport; +import org.fusesource.hawtbuf.UTF8Buffer; + +public class OpenWireCoreConverter { + public static final SimpleString JMS_GROUPSEQ = new SimpleString("JMSXGroupSequence"); + public static final SimpleString JMS_XGROUPSEQ = new SimpleString("JMSXGroupSeq"); + public static final SimpleString JMS_GROUPID = new SimpleString("JMSXGroupID"); + private static final SimpleString AMQP_REPLYTOGROUPID = new SimpleString("JMS_AMQP_ReplyToGroupID"); + public static final SimpleString JMS_CONTENT_TYPE = new SimpleString("JMS_AMQP_ContentType"); + private static final SimpleString AMQP_CONTETTYPE = new SimpleString("JMS_AMQP_CONTENT_TYPE"); + + public static ICoreMessage toCore(final OpenWireMessage openwireMessage, final CoreMessageObjectPools coreMessageObjectPools) + throws Exception { + CoreMessage coreMessage = new CoreMessage(-1, openwireMessage.getMessageSize(), coreMessageObjectPools); + final SimpleString type = openwireMessage.getSimpleStringProperty(OpenWireMessageConverter.JMS_TYPE_PROPERTY); + if (type != null) { + coreMessage.putStringProperty(OpenWireMessageConverter.JMS_TYPE_PROPERTY, type); + } + coreMessage.setDurable(openwireMessage.isDurable()); + coreMessage.setExpiration(openwireMessage.getExpiration()); + coreMessage.setPriority(openwireMessage.getPriority()); + coreMessage.setTimestamp(openwireMessage.getTimestamp()); + final ActiveMQBuffer openWireMessageBuffer = openwireMessage.getReadOnlyBodyBuffer(); + final boolean isCompressed = openwireMessage.getBooleanProperty(OpenWireMessageConverter.AMQ_MSG_COMPRESSED); + final byte coreType = openwireMessage.getType(); + coreMessage.setType(coreType); + openWireMessageBuffer.resetReaderIndex(); + final byte[] bytes; + bytes = readContentFromBody(openWireMessageBuffer, coreType, isCompressed); + if (
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16350080#comment-16350080 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165600076 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireCoreConverter.java --- @@ -0,0 +1,572 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.protocol.openwire; + +import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Arrays; +import java.util.Map; +import java.util.Set; +import java.util.Map.Entry; +import java.util.zip.Deflater; +import java.util.zip.DeflaterOutputStream; +import java.util.zip.Inflater; +import java.util.zip.InflaterInputStream; +import java.util.zip.InflaterOutputStream; + +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.FilterConstants; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.message.impl.CoreMessage; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.reader.MessageUtil; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.artemis.utils.collections.TypedProperties; +import org.apache.activemq.command.CommandTypes; +import org.apache.activemq.util.ByteArrayInputStream; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.util.ByteSequenceData; +import org.apache.activemq.util.MarshallingSupport; +import org.fusesource.hawtbuf.UTF8Buffer; + +public class OpenWireCoreConverter { + public static final SimpleString JMS_GROUPSEQ = new SimpleString("JMSXGroupSequence"); + public static final SimpleString JMS_XGROUPSEQ = new SimpleString("JMSXGroupSeq"); + public static final SimpleString JMS_GROUPID = new SimpleString("JMSXGroupID"); + private static final SimpleString AMQP_REPLYTOGROUPID = new SimpleString("JMS_AMQP_ReplyToGroupID"); + public static final SimpleString JMS_CONTENT_TYPE = new SimpleString("JMS_AMQP_ContentType"); + private static final SimpleString AMQP_CONTETTYPE = new SimpleString("JMS_AMQP_CONTENT_TYPE"); + + public static ICoreMessage toCore(final OpenWireMessage openwireMessage, final CoreMessageObjectPools coreMessageObjectPools) + throws Exception { + CoreMessage coreMessage = new CoreMessage(-1, openwireMessage.getMessageSize(), coreMessageObjectPools); + final SimpleString type = openwireMessage.getSimpleStringProperty(OpenWireMessageConverter.JMS_TYPE_PROPERTY); + if (type != null) { + coreMessage.putStringProperty(OpenWireMessageConverter.JMS_TYPE_PROPERTY, type); + } + coreMessage.setDurable(openwireMessage.isDurable()); + coreMessage.setExpiration(openwireMessage.getExpiration()); + coreMessage.setPriority(openwireMessage.getPriority()); + coreMessage.setTimestamp(openwireMessage.getTimestamp()); + final ActiveMQBuffer openWireMessageBuffer = openwireMessage.getReadOnlyBodyBuffer(); + final boolean isCompressed = openwireMessage.getBooleanProperty(OpenWireMessageConverter.AMQ_MSG_COMPRESSED); + final byte coreType = openwireMessage.getType(); + coreMessage.setType(coreType); + openWireMessageBuffer.resetReaderIndex(); + final byte[] bytes; + bytes = readContentFromBody(openWireMessageBuffer, coreType, isCompressed); + if (
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16350078#comment-16350078 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165599007 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireCoreConverter.java --- @@ -0,0 +1,572 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.protocol.openwire; + +import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Arrays; +import java.util.Map; +import java.util.Set; +import java.util.Map.Entry; +import java.util.zip.Deflater; +import java.util.zip.DeflaterOutputStream; +import java.util.zip.Inflater; +import java.util.zip.InflaterInputStream; +import java.util.zip.InflaterOutputStream; + +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.FilterConstants; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.message.impl.CoreMessage; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.reader.MessageUtil; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.artemis.utils.collections.TypedProperties; +import org.apache.activemq.command.CommandTypes; +import org.apache.activemq.util.ByteArrayInputStream; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.util.ByteSequenceData; +import org.apache.activemq.util.MarshallingSupport; +import org.fusesource.hawtbuf.UTF8Buffer; + +public class OpenWireCoreConverter { --- End diff -- It is optional: If it won't be instantiated anymore, please make it `final` and put a private constructor on it in order to avoid "accidental" instantiations of it > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password adm
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16350073#comment-16350073 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165597637 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireConverter.java --- @@ -0,0 +1,43 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.protocol.openwire; + +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.spi.core.protocol.MessageConverter; + +public enum OpenWireConverter implements MessageConverter { + + INSTANCE; + + public static OpenWireConverter getInstance() { --- End diff -- This method isn't needed anymore > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16349907#comment-16349907 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 Thanks, @michaelandrepearce @franz1981 for the review. I have implemented the changes. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16348561#comment-16348561 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165352116 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireCoreConverter.java --- @@ -0,0 +1,572 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.protocol.openwire; + +import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Arrays; +import java.util.Map; +import java.util.Set; +import java.util.Map.Entry; +import java.util.zip.Deflater; +import java.util.zip.DeflaterOutputStream; +import java.util.zip.Inflater; +import java.util.zip.InflaterInputStream; +import java.util.zip.InflaterOutputStream; + +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.FilterConstants; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.message.impl.CoreMessage; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.reader.MessageUtil; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.artemis.utils.collections.TypedProperties; +import org.apache.activemq.command.CommandTypes; +import org.apache.activemq.util.ByteArrayInputStream; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.util.ByteSequenceData; +import org.apache.activemq.util.MarshallingSupport; +import org.fusesource.hawtbuf.UTF8Buffer; + +public class OpenWireCoreConverter { + public static final SimpleString JMS_GROUPSEQ = new SimpleString("JMSXGroupSequence"); + public static final SimpleString JMS_XGROUPSEQ = new SimpleString("JMSXGroupSeq"); + public static final SimpleString JMS_GROUPID = new SimpleString("JMSXGroupID"); + private static final SimpleString AMQP_REPLYTOGROUPID = new SimpleString("JMS_AMQP_ReplyToGroupID"); + public static final SimpleString JMS_CONTENT_TYPE = new SimpleString("JMS_AMQP_ContentType"); + private static final SimpleString AMQP_CONTETTYPE = new SimpleString("JMS_AMQP_CONTENT_TYPE"); + + public static ICoreMessage toCore(final OpenWireMessage openwireMessage, final CoreMessageObjectPools coreMessageObjectPools) + throws Exception { + CoreMessage coreMessage = new CoreMessage(-1, openwireMessage.getMessageSize(), coreMessageObjectPools); + final SimpleString type = openwireMessage.getSimpleStringProperty(new SimpleString("JMSType")); --- End diff -- Or make constant :) > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16348560#comment-16348560 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @michaelandrepearce I will warn the PM squad :+1: > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16348459#comment-16348459 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165331496 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireCoreConverter.java --- @@ -0,0 +1,572 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.protocol.openwire; + +import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Arrays; +import java.util.Map; +import java.util.Set; +import java.util.Map.Entry; +import java.util.zip.Deflater; +import java.util.zip.DeflaterOutputStream; +import java.util.zip.Inflater; +import java.util.zip.InflaterInputStream; +import java.util.zip.InflaterOutputStream; + +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.FilterConstants; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.message.impl.CoreMessage; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.reader.MessageUtil; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.artemis.utils.collections.TypedProperties; +import org.apache.activemq.command.CommandTypes; +import org.apache.activemq.util.ByteArrayInputStream; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.util.ByteSequenceData; +import org.apache.activemq.util.MarshallingSupport; +import org.fusesource.hawtbuf.UTF8Buffer; + +public class OpenWireCoreConverter { + public static final SimpleString JMS_GROUPSEQ = new SimpleString("JMSXGroupSequence"); + public static final SimpleString JMS_XGROUPSEQ = new SimpleString("JMSXGroupSeq"); + public static final SimpleString JMS_GROUPID = new SimpleString("JMSXGroupID"); + private static final SimpleString AMQP_REPLYTOGROUPID = new SimpleString("JMS_AMQP_ReplyToGroupID"); + public static final SimpleString JMS_CONTENT_TYPE = new SimpleString("JMS_AMQP_ContentType"); + private static final SimpleString AMQP_CONTETTYPE = new SimpleString("JMS_AMQP_CONTENT_TYPE"); + + public static ICoreMessage toCore(final OpenWireMessage openwireMessage, final CoreMessageObjectPools coreMessageObjectPools) + throws Exception { + CoreMessage coreMessage = new CoreMessage(-1, openwireMessage.getMessageSize(), coreMessageObjectPools); + final SimpleString type = openwireMessage.getSimpleStringProperty(new SimpleString("JMSType")); + if (type != null) { + coreMessage.putStringProperty(SimpleString.toSimpleString("JMSType"), type); --- End diff -- Or just make it a constant. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16348456#comment-16348456 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @franz1981 I think there’s a general Jenkins PR build issue. If you have direct ping ability or nudge directly Martyn or Clebert or someone on PM ? > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16348453#comment-16348453 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165330940 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireCoreConverter.java --- @@ -0,0 +1,572 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.protocol.openwire; + +import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Arrays; +import java.util.Map; +import java.util.Set; +import java.util.Map.Entry; +import java.util.zip.Deflater; +import java.util.zip.DeflaterOutputStream; +import java.util.zip.Inflater; +import java.util.zip.InflaterInputStream; +import java.util.zip.InflaterOutputStream; + +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.FilterConstants; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.message.impl.CoreMessage; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.reader.MessageUtil; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.artemis.utils.collections.TypedProperties; +import org.apache.activemq.command.CommandTypes; +import org.apache.activemq.util.ByteArrayInputStream; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.util.ByteSequenceData; +import org.apache.activemq.util.MarshallingSupport; +import org.fusesource.hawtbuf.UTF8Buffer; + +public class OpenWireCoreConverter { + public static final SimpleString JMS_GROUPSEQ = new SimpleString("JMSXGroupSequence"); + public static final SimpleString JMS_XGROUPSEQ = new SimpleString("JMSXGroupSeq"); + public static final SimpleString JMS_GROUPID = new SimpleString("JMSXGroupID"); + private static final SimpleString AMQP_REPLYTOGROUPID = new SimpleString("JMS_AMQP_ReplyToGroupID"); + public static final SimpleString JMS_CONTENT_TYPE = new SimpleString("JMS_AMQP_ContentType"); + private static final SimpleString AMQP_CONTETTYPE = new SimpleString("JMS_AMQP_CONTENT_TYPE"); + + public static ICoreMessage toCore(final OpenWireMessage openwireMessage, final CoreMessageObjectPools coreMessageObjectPools) + throws Exception { + CoreMessage coreMessage = new CoreMessage(-1, openwireMessage.getMessageSize(), coreMessageObjectPools); + final SimpleString type = openwireMessage.getSimpleStringProperty(new SimpleString("JMSType")); --- End diff -- cache the `new SimpleString("JMSType")` to avoid allocating it each tim > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --time
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16348454#comment-16348454 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165331112 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireCoreConverter.java --- @@ -0,0 +1,572 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.protocol.openwire; + +import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Arrays; +import java.util.Map; +import java.util.Set; +import java.util.Map.Entry; +import java.util.zip.Deflater; +import java.util.zip.DeflaterOutputStream; +import java.util.zip.Inflater; +import java.util.zip.InflaterInputStream; +import java.util.zip.InflaterOutputStream; + +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.FilterConstants; +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.message.impl.CoreMessage; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.reader.MessageUtil; +import org.apache.activemq.artemis.utils.DataConstants; +import org.apache.activemq.artemis.utils.collections.TypedProperties; +import org.apache.activemq.command.CommandTypes; +import org.apache.activemq.util.ByteArrayInputStream; +import org.apache.activemq.util.ByteSequence; +import org.apache.activemq.util.ByteSequenceData; +import org.apache.activemq.util.MarshallingSupport; +import org.fusesource.hawtbuf.UTF8Buffer; + +public class OpenWireCoreConverter { + public static final SimpleString JMS_GROUPSEQ = new SimpleString("JMSXGroupSequence"); + public static final SimpleString JMS_XGROUPSEQ = new SimpleString("JMSXGroupSeq"); + public static final SimpleString JMS_GROUPID = new SimpleString("JMSXGroupID"); + private static final SimpleString AMQP_REPLYTOGROUPID = new SimpleString("JMS_AMQP_ReplyToGroupID"); + public static final SimpleString JMS_CONTENT_TYPE = new SimpleString("JMS_AMQP_ContentType"); + private static final SimpleString AMQP_CONTETTYPE = new SimpleString("JMS_AMQP_CONTENT_TYPE"); + + public static ICoreMessage toCore(final OpenWireMessage openwireMessage, final CoreMessageObjectPools coreMessageObjectPools) + throws Exception { + CoreMessage coreMessage = new CoreMessage(-1, openwireMessage.getMessageSize(), coreMessageObjectPools); + final SimpleString type = openwireMessage.getSimpleStringProperty(new SimpleString("JMSType")); + if (type != null) { + coreMessage.putStringProperty(SimpleString.toSimpleString("JMSType"), type); --- End diff -- Cache `SimpleString.toSimpleString("JMSType")` to avoid allocations > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for br
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16348452#comment-16348452 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165330750 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireProtocolManagerFactory.java --- @@ -46,6 +48,11 @@ public ProtocolManager createProtocolManager(final ActiveMQServer server, return BeanSupport.setData(new OpenWireProtocolManager(this, server), parameters); } + @Override + public Persister[] getPersister() { + return new Persister[]{OpenWireMessagePersister.getInstance()}; --- End diff -- Cache it if possible instead of allocating it each time > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16348450#comment-16348450 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165330595 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessagePersister.java --- @@ -0,0 +1,69 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.protocol.openwire; + +import org.apache.activemq.artemis.api.core.ActiveMQBuffer; +import org.apache.activemq.artemis.api.core.Message; +import org.apache.activemq.artemis.api.core.SimpleString; +import org.apache.activemq.artemis.core.persistence.Persister; +import org.apache.activemq.artemis.utils.DataConstants; + +public class OpenWireMessagePersister implements Persister { --- End diff -- The same comments of `OpenWireConverter` > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassia
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16348449#comment-16348449 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165330188 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireConverter.java --- @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.protocol.openwire; + +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.spi.core.protocol.MessageConverter; + +public class OpenWireConverter implements MessageConverter { --- End diff -- Please make it final or use an enum class with just a single enumerated instance to have a real singleton: ``` public enum OpenWireConverter implements MessageConverter{ Instance; ... } ``` > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 150970
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16348447#comment-16348447 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @RaiSaurabh Please rebase it and force push it to re-trigger a Jenkins build and hopefully it will pass > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16348420#comment-16348420 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @michaelandrepearce Seems there is some problem with the Git due to which this build failed. Could you please check and let me know. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16348322#comment-16348322 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 @michaelandrepearce updated the code as per your comments. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16348301#comment-16348301 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165302018 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireConverter.java --- @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.protocol.openwire; + +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.spi.core.protocol.MessageConverter; + +public class OpenWireConverter implements MessageConverter { + + private static final OpenWireConverter theInstance = new OpenWireConverter(); + private OpenWireConverter() { + } + + public static OpenWireConverter getInstance() { + return theInstance; + } + + @Override + public OpenwireMessage fromCore(ICoreMessage coreMessage) throws Exception { --- End diff -- Ok, @michaelandrepearce I will refractor that. Since this was named like this previously I thought not to change it. As after what you suggested this was bugging me too. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x0
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16348207#comment-16348207 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r165287490 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireConverter.java --- @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.protocol.openwire; + +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.spi.core.protocol.MessageConverter; + +public class OpenWireConverter implements MessageConverter { + + private static final OpenWireConverter theInstance = new OpenWireConverter(); + private OpenWireConverter() { + } + + public static OpenWireConverter getInstance() { + return theInstance; + } + + @Override + public OpenwireMessage fromCore(ICoreMessage coreMessage) throws Exception { --- End diff -- seems one is left, i think the class was there before unused, would you mind? OpenwireMessage -> OpenWireMessage > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16348051#comment-16348051 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 Thanks, @michaelandrepearce @clebertsuconic and @franz1981 for the review comments. I have tried to fix it. Could you please review the changes now. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16335099#comment-16335099 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 I ran the whole testsuite and it didn't complete. it's a very nice start though. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16334571#comment-16334571 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 Really good work, I like this, really good to see OpenWire getting this :) Have you run the full OpenWire test suite? I know not all run in the PR build, so worth checking. Might be worth running the full suite even if you can. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16334563#comment-16334563 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1793#discussion_r163007469 --- Diff: artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenwireConverter.java --- @@ -0,0 +1,45 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.activemq.artemis.core.protocol.openwire; + +import org.apache.activemq.artemis.api.core.ICoreMessage; +import org.apache.activemq.artemis.core.message.impl.CoreMessageObjectPools; +import org.apache.activemq.artemis.spi.core.protocol.MessageConverter; + +public class OpenwireConverter implements MessageConverter { --- End diff -- nit: But so it fits with other class naming where OpenWire seems to be itself camel cased elsewhere, could this be OpenWireConverter > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlas
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16334513#comment-16334513 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 Please take a look here: ``` 2018-01-22 17:28:59,899 WARN [org.apache.activemq.artemis.core.server] Error during message dispatch: java.lang.RuntimeException: null at org.apache.activemq.artemis.core.protocol.openwire.OpenwireMessage.toCore(OpenwireMessage.java:787) [artemis-openwire-protocol-2.5.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.core.protocol.openwire.OpenwireMessage.toCore(OpenwireMessage.java:779) [artemis-openwire-protocol-2.5.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.toAMQMessage(OpenWireMessageConverter.java:454) [artemis-openwire-protocol-2.5.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.core.protocol.openwire.OpenWireMessageConverter.createMessageDispatch(OpenWireMessageConverter.java:435) [artemis-openwire-protocol-2.5.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQConsumer.handleDeliver(AMQConsumer.java:222) [artemis-openwire-protocol-2.5.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.core.protocol.openwire.amq.AMQSession.sendMessage(AMQSession.java:276) [artemis-openwire-protocol-2.5.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.deliverStandardMessage(ServerConsumerImpl.java:1091) [artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.core.server.impl.ServerConsumerImpl.proceedDeliver(ServerConsumerImpl.java:460) [artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.core.server.impl.QueueImpl.proceedDeliver(QueueImpl.java:2763) [artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.core.server.impl.QueueImpl.deliver(QueueImpl.java:2247) [artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.core.server.impl.QueueImpl.access$1900(QueueImpl.java:106) [artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.core.server.impl.QueueImpl$DeliverRunner.run(QueueImpl.java:3021) [artemis-server-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:42) [artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:31) [artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:66) [artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_102] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_102] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_102] Caused by: java.lang.NumberFormatException: null at java.lang.Integer.parseInt(Integer.java:542) [rt.jar:1.8.0_102] at java.lang.Integer.valueOf(Integer.java:766) [rt.jar:1.8.0_102] at org.apache.activemq.artemis.utils.collections.TypedProperties.getIntProperty(TypedProperties.java:225) [artemis-commons-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.core.protocol.openwire.OpenwireMessage.getIntProperty(OpenwireMessage.java:681) [artemis-openwire-protocol-2.5.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.core.protocol.openwire.OpenwireMessage.getIntProperty(OpenwireMessage.java:600) [artemis-openwire-protocol-2.5.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.core.protocol.openwire.OpenwireCoreConverter.toCore(OpenwireCoreConverter.java:74) [artemis-openwire-protocol-2.5.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.core.protocol.openwire.OpenwireConverter.toCore(OpenwireConverter.java:42) [artemis-openwire-protocol-2.5.0-SNAPSHOT.jar:] at org.apache.activemq.artemis.core.protocol.openwire.OpenwireMessage.toCore(OpenwireMessage.java:785) [artemis-openwire-protocol-2.5.0-SNAPSHOT.jar:] ... 17 more ``` I've built up a 1 producer 1 consumer test vs 1 not durable JMS queue and I'm getting it. The idea seems good as @clebertsuconic as shown me but need to address these issues first :+1: > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-149
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16334407#comment-16334407 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 Let me see if I understand.. you implemented OpenwireMessage here? > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16332208#comment-16332208 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 Ok, @franz1981 I will wait for the merging. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16332192#comment-16332192 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user franz1981 commented on the issue: https://github.com/apache/activemq-artemis/pull/1793 Please check this too https://github.com/apache/activemq-artemis/pull/1786 Probably will be easier to wait mine to be merged: the changes I've pushed are including some refactoring that will make this change to be easier, wdyt? > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16332184#comment-16332184 ] ASF GitHub Bot commented on ARTEMIS-1498: - GitHub user RaiSaurabh opened a pull request: https://github.com/apache/activemq-artemis/pull/1793 ARTEMIS-1498: Openwire internal headers should not be part of message You can merge this pull request into a Git repository by running: $ git pull https://github.com/RaiSaurabh/activemq-artemis openwire Alternatively you can review and apply these changes as the patch at: https://github.com/apache/activemq-artemis/pull/1793.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1793 commit 29c61ae7ae394ffa955228c98a0ccecc82318d1b Author: saurabhrai Date: 2018-01-19T12:19:05Z ARTEMIS-1498: Openwire internal headers should not be part of message > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16304748#comment-16304748 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1684 @RaiSaurabh look at example methods from org.apache.activemq.artemis.protocol.amqp.broker.AMQPMessage I'd image you'd want to encode and decode the org.apache.activemq.command.Message during persistence and reload. ``` @Override public int getPersistSize() { checkBuffer(); return DataConstants.SIZE_INT + internalPersistSize(); } private int internalPersistSize() { return data.array().length; } @Override public void persist(ActiveMQBuffer targetRecord) { checkBuffer(); targetRecord.writeInt(internalPersistSize()); targetRecord.writeBytes(data.array(), 0, data.array().length ); } @Override public void reloadPersistence(ActiveMQBuffer record) { int size = record.readInt(); byte[] recordArray = new byte[size]; record.readBytes(recordArray); this.messagePaylodStart = 0; // whatever was persisted will be sent this.data = Unpooled.wrappedBuffer(recordArray); this.bufferValid = true; this.durable = true; // it's coming from the journal, so it's durable parseHeaders(); } ``` > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16303462#comment-16303462 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on the issue: https://github.com/apache/activemq-artemis/pull/1684 @michaelandrepearce Whatever changes you suggested works fine but the issue that you mentioned that OpenWire specific properties are lost on the restart as won't be encoded down to disk. How can I ensure that org.apache.activemq.command.Message is encoded down to the disk. This message is only retained if I do not restart the broker. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16303010#comment-16303010 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh closed the pull request at: https://github.com/apache/activemq-artemis/pull/1684 > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16303009#comment-16303009 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on the issue: https://github.com/apache/activemq-artemis/pull/1684 @clebertsuconic There seems to be some issue with my branch will close this PR and open a new one. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16299095#comment-16299095 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1684 @RaiSaurabh do you mind rebasing and fixing the conflict please? > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16294673#comment-16294673 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on the issue: https://github.com/apache/activemq-artemis/pull/1684 @michaelandrepearce Thanks, I got the context now will try to update the code and test. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16294664#comment-16294664 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1684 e.g. ``` public class OpenwireMessage extends RefCountMessage { org.apache.activemq.command.Message message; public OpenwireMessage(org.apache.activemq.command.Message message){ this.message = message; } @Override public SimpleString getReplyTo() { return SimpleString.toSimpleString(message.getReplyTo().getPhysicalName()); } @Override public Message setReplyTo(SimpleString address) { message.setReplyTo(ActiveMQDestination.createDestination(address.toString(), ActiveMQDestination.QUEUE_TYPE)); return this; } @Override public Object getUserID() { return message.getUserID(); } @Override public Message setUserID(Object userID) { message.setUserID(userID.toString()); return this; } @Override public boolean isDurable() { return message.isPersistent(); } @Override public Message setDurable(boolean durable) { message.setPersistent(durable); return this; } . } ``` > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16294626#comment-16294626 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1684 @RaiSaurabh this isn't what was quite meant, the idea of implementing Message is to avoid conversion, so it only needs to convert if cross protocol on consume. You have only extended and kept the conversion to CoreMessage, not entirely the intent expected. E.g. the idea is that you have similar to what occurs with AMQPMessage, that internally it is kept unconverted in AMQP form, so that if AMQP producer and AMQP consumer, it doesn't convert to CoreMessage. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16294602#comment-16294602 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on the issue: https://github.com/apache/activemq-artemis/pull/1684 @michaelandrepearce Hi Mike could you please review the changes. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16287395#comment-16287395 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on the issue: https://github.com/apache/activemq-artemis/pull/1684 @michaelandrepearce I have taken your suggestion and implemented it. Currently, I am testing it will push it in a day or two. I am ensuring that all the headers are retained on conversion of protocols. Hope it is alright for you. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16287386#comment-16287386 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1684 @RaiSaurabh seems you've reverted this, are you working on an alternative solution? Is it worth closing this PR till ready? > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16278896#comment-16278896 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1684 On that note, going through the OpenWireConverter that currently converts OpenWire to Core on produce, there is many places where its not setting the correct matching properties (or methods) on core because it has them hardcoded as string, instead of using the constants from Message (in core). Example ``` String groupId = messageSend.getGroupID(); if (groupId != null) { coreMessage.putStringProperty(AMQ_MSG_GROUP_ID, groupId); } ``` Here the property being set is "__HDR_GROUP_ID" where as in core Message if using the constants from there, then actually what should be set is ``` String groupId = messageSend.getGroupID(); if (groupId != null) { coreMessage.putStringProperty(org.apache.activemq.artemis.api.core.Message.HDR_GROUP_ID, SimpleString.toSimpleString(groupId)); } ``` so that it actually sets the correct property than then is handled by other converters properly. (its seems this is quite numerous in the converter, just briefly going through it. ) (please be aware this are of code I'm less familiar in artemis with but a brief look through, i see such oddities) > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16278834#comment-16278834 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1684 So here I would either suggest that these are not copied to core message when converting to core, but if need because of consuming with openwire consumer then probably better but a bit more work is to make OpenWire Message so it doesn’t convert on produce only on consume eg some work is done to make it implement some internal interfaces as like what was for for amqp, this would save conversion to core also if producer and consumer are openwire making it more performant. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16278177#comment-16278177 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user RaiSaurabh commented on the issue: https://github.com/apache/activemq-artemis/pull/1684 @michaelandrepearce @clebertsuconic Please correct me if my understanding is wrong. I checked the code of OpenwireMesageConverter when we send a message using client if comes to (https://github.com/apache/activemq-artemis/blob/master/artemis-protocols/artemis-openwire-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/openwire/OpenWireMessageConverter.java#L122) where we set all the internal headers with __HDR as message property and return the CoreMessage. If we try to receive the message from the Openwire client we use these message properties to set them as ActiveMQMessage object properties like ID etc. Now with the case, if I use the AMQP/ Core receiver the message that is fetched is in form of ICoreMessage in CoreAmqpConverter class (https://github.com/apache/activemq-artemis/blob/master/artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/converter/CoreAmqpConverter.java#L104) and all the internal headers of Openwire are present as message properties. Hence I decided to stip it off from the CoreAmqpConverter class. I was not able to find any better place. If you could point me that would be great. > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (ARTEMIS-1498) [interop] Openwire internal headers should not be part of message properties
[ https://issues.apache.org/jira/browse/ARTEMIS-1498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16276823#comment-16276823 ] ASF GitHub Bot commented on ARTEMIS-1498: - Github user clebertsuconic commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1684#discussion_r154658085 --- Diff: artemis-protocols/artemis-amqp-protocol/src/main/java/org/apache/activemq/artemis/protocol/amqp/converter/CoreAmqpConverter.java --- @@ -95,7 +95,7 @@ public class CoreAmqpConverter { private static Logger logger = Logger.getLogger(CoreAmqpConverter.class); - + public static final String INTERNAL_HEADER = "__HDR_"; --- End diff -- +1 > [interop] Openwire internal headers should not be part of message properties > > > Key: ARTEMIS-1498 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1498 > Project: ActiveMQ Artemis > Issue Type: Bug > Components: OpenWire > Environment: interoperability between Openwire -> AMQP/Core >Reporter: Michal Toth >Priority: Minor > > Sending an empty message from Openwire JMS client to AMQP or Core receiver > client shows extra "internal" headers (__HDR_*) in message properties. > They should not be there, as these are internal for broker in my opinion. > Openwire sender > {noformat} > $ java -jar /var/dtests/node_data/clients/aoc7.jar sender --timeout 5 > --log-msgs interop --broker tcp://localhost:61616 --address queue_name_\$ > --count 1 --conn-username admin --conn-password admin > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': > 'dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1:1:1:1', > 'user-id':None, 'address': 'queue_name_$', 'subject': None, 'reply-to': None, > 'correlation-id': None, 'content-type': None, 'content-encoding': None, > 'absolute-expiry-time': 0, 'creation-time': 1509702974798, 'group-id': None, > 'group-sequence': 0, 'reply-to-group-id': None, 'properties': {}, 'content': > None, 'type': None} > {noformat} > AMQP/Core receiver > {noformat} > $ java -jar /var/dtests/node_data/clients/aac1.jar receiver --timeout 5 > --log-msgs interop --broker localhost:5672 --address queue_name_\$ --count 1 > --conn-username admin --conn-password admin > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01 > Unsupported object type org.apache.qpid.proton.amqp.Binary > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01 > {'durable': True, 'priority': 4, 'ttl': 0, 'first-acquirer': False, > 'delivery-count': 0, 'id': None, 'user-id': None, 'address': 'queue_name_$', > 'subject': None, 'reply-to': None, 'correlation-id': None, 'content-type': > None, 'content-encoding': None, 'absolute-expiry-time': 0, 'creation-time': > 1509702974798, 'group-id': None, 'group-sequence': 0, 'reply-to-group-id': > None, 'properties': {'__HDR_COMMAND_ID': 5, 'JMSXDeliveryCount': 1, > '__HDR_ARRIVAL': 0, '__HDR_MESSAGE_ID': > \x00\x00\x00Jn\x02\xae\x02{\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01\x00\x01, > '__HDR_GROUP_SEQUENCE': 0, '__HDR_PRODUCER_ID': > \x00\x00\x00F{\x01+\x00=ID:dhcp-145-96.lab.eng.brq.redhat.com-33646-1509702974536-1:1\x00\x01\x00\x01, > '__HDR_DROPPABLE': False, '__HDR_BROKER_IN_TIME': 1509702974800}, 'content': > None} > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)