[jira] [Created] (ARTEMIS-1656) OpenWire scalability improvements
Francesco Nigro created ARTEMIS-1656: Summary: OpenWire scalability improvements Key: ARTEMIS-1656 URL: https://issues.apache.org/jira/browse/ARTEMIS-1656 Project: ActiveMQ Artemis Issue Type: Improvement Reporter: Francesco Nigro Assignee: Francesco Nigro OpenWire is using the synchronized OpenWireFormat instance belonging to OpenWireProtocolManager: it won't allow to scale with the number of connections. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1657) Memory usage on DLQ does not decrement when messages are moved
[ https://issues.apache.org/jira/browse/ARTEMIS-1657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350408#comment-16350408 ] ASF GitHub Bot commented on ARTEMIS-1657: - Github user cshannon commented on the issue: https://github.com/apache/activemq-artemis/pull/1840 Updated PR as I found a second spot where the ref counter needed to be decremented > Memory usage on DLQ does not decrement when messages are moved > -- > > Key: ARTEMIS-1657 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1657 > Project: ActiveMQ Artemis > Issue Type: Bug >Affects Versions: 2.4.0 >Reporter: Christopher L. Shannon >Assignee: Christopher L. Shannon >Priority: Major > Fix For: 2.5.0 > > > While doing some testing I noticed that if messages that are sent to the DLQ > are retried and moved back to their original queue the memory usage tracker > on the DLQ does not get decremented as it should. This is because the > refRemoved() method is never called after moving the message is it should. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1655) During failover a null key in TransportConfiguration is causing error during encode.
[ https://issues.apache.org/jira/browse/ARTEMIS-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350152#comment-16350152 ] ASF GitHub Bot commented on ARTEMIS-1655: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1839 @franz1981 if you want to have the honor I’m more than happy letting you merge :) > During failover a null key in TransportConfiguration is causing error during > encode. > > > Key: ARTEMIS-1655 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1655 > Project: ActiveMQ Artemis > Issue Type: Bug >Affects Versions: 2.4.0 >Reporter: Michael Andre Pearce >Assignee: Michael Andre Pearce >Priority: Major > > 09:34:37,659 WARN [org.apache.activemq.artemis.utils.actors.OrderedExecutor] > AMQ119033: Invalid type: n > ull: java.lang.IllegalArgumentException: AMQ119033: Invalid type: null > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encodeMap(TransportConfiguration. > java:317) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encode(TransportConfiguration.jav > a:336) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 2.encodeRest(ClusterTopologyChangeMessage_V2.java:88) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAP > SHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 3.encodeRest(ClusterTopologyChangeMessage_V3.java:60) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (ARTEMIS-1657) Memory usage on DLQ does not decrement when messages are moved
Christopher L. Shannon created ARTEMIS-1657: --- Summary: Memory usage on DLQ does not decrement when messages are moved Key: ARTEMIS-1657 URL: https://issues.apache.org/jira/browse/ARTEMIS-1657 Project: ActiveMQ Artemis Issue Type: Bug Affects Versions: 2.4.0 Reporter: Christopher L. Shannon Assignee: Christopher L. Shannon Fix For: 2.5.0 While doing some testing I noticed that if messages that are sent to the DLQ are retried and moved back to their original queue the memory usage tracker on the DLQ does not get decremented as it should. This is because the refRemoved() method is never called after moving the message is it should. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1657) Memory usage on DLQ does not decrement when messages are moved
[ https://issues.apache.org/jira/browse/ARTEMIS-1657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350244#comment-16350244 ] ASF GitHub Bot commented on ARTEMIS-1657: - GitHub user cshannon opened a pull request: https://github.com/apache/activemq-artemis/pull/1840 ARTEMIS-1657 - Properly decrement memory usage when moving messages When messages are retried and moved froma DLQ to the original queue the memory usage tracker needs to be decremented You can merge this pull request into a Git repository by running: $ git pull https://github.com/cshannon/activemq-artemis ARTEMIS-1657 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/activemq-artemis/pull/1840.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 #1840 commit 6ddccf581a9eac692dac68c418d4ce054c83cc93 Author: Christopher L. Shannon (cshannon)Date: 2018-02-02T12:39:50Z ARTEMIS-1657 - Properly decrement memory usage when moving messages from queue When messages are retried and moved froma DLQ to the original queue the memory usage tracker needs to be decremented > Memory usage on DLQ does not decrement when messages are moved > -- > > Key: ARTEMIS-1657 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1657 > Project: ActiveMQ Artemis > Issue Type: Bug >Affects Versions: 2.4.0 >Reporter: Christopher L. Shannon >Assignee: Christopher L. Shannon >Priority: Major > Fix For: 2.5.0 > > > While doing some testing I noticed that if messages that are sent to the DLQ > are retried and moved back to their original queue the memory usage tracker > on the DLQ does not get decremented as it should. This is because the > refRemoved() method is never called after moving the message is it should. -- 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=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(brokers,
[jira] [Commented] (ARTEMIS-1652) XmlDataImporter forgets delete tmp files
[ https://issues.apache.org/jira/browse/ARTEMIS-1652?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350512#comment-16350512 ] ASF GitHub Bot commented on ARTEMIS-1652: - Github user clebertsuconic commented on the issue: https://github.com/apache/activemq-artemis/pull/1836 A.. that's why the compatibility tests are generating so many tmp files.. thanks! > XmlDataImporter forgets delete tmp files > > > Key: ARTEMIS-1652 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1652 > Project: ActiveMQ Artemis > Issue Type: Task > Components: Broker >Affects Versions: 2.4.0 >Reporter: Howard Gao >Assignee: Howard Gao >Priority: Major > Fix For: 2.5.0 > > > When using the tool to import more than one large messages from xml exported > file, this utility class will create some tmp files, each for one large > message. However it only delete one of the tmp files. All the rest of tmp > files won't get cleaned up. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1655) During failover a null key in TransportConfiguration is causing error during encode.
[ https://issues.apache.org/jira/browse/ARTEMIS-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350268#comment-16350268 ] ASF GitHub Bot commented on ARTEMIS-1655: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1841 @franz1981 this replaces the previous PR, actually fixing the source of the issue. > During failover a null key in TransportConfiguration is causing error during > encode. > > > Key: ARTEMIS-1655 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1655 > Project: ActiveMQ Artemis > Issue Type: Bug >Affects Versions: 2.4.0 >Reporter: Michael Andre Pearce >Assignee: Michael Andre Pearce >Priority: Major > > 09:34:37,659 WARN [org.apache.activemq.artemis.utils.actors.OrderedExecutor] > AMQ119033: Invalid type: n > ull: java.lang.IllegalArgumentException: AMQ119033: Invalid type: null > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encodeMap(TransportConfiguration. > java:317) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encode(TransportConfiguration.jav > a:336) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 2.encodeRest(ClusterTopologyChangeMessage_V2.java:88) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAP > SHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 3.encodeRest(ClusterTopologyChangeMessage_V3.java:60) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1655) During failover a null key in TransportConfiguration is causing error during encode.
[ https://issues.apache.org/jira/browse/ARTEMIS-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350267#comment-16350267 ] ASF GitHub Bot commented on ARTEMIS-1655: - GitHub user michaelandrepearce opened a pull request: https://github.com/apache/activemq-artemis/pull/1841 ARTEMIS-1655 Fix TransportConfiguration encode failing Check for null on isMaskPassword, seems this regressed in bb84f679363f62e8b2663f63bf23f04133de481d change for ARTEMIS-1600 You can merge this pull request into a Git repository by running: $ git pull https://github.com/michaelandrepearce/activemq-artemis ARTEMIS-1655 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/activemq-artemis/pull/1841.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 #1841 commit 9acdec2468aa89cf6dfd99323f87c5c1a351bd0d Author: Michael André PearceDate: 2018-02-02T09:52:38Z ARTEMIS-1655 Fix TransportConfiguration encode failing Check for null on isMaskPassword, seems this regressed in bb84f679363f62e8b2663f63bf23f04133de481d change for ARTEMIS-1600 > During failover a null key in TransportConfiguration is causing error during > encode. > > > Key: ARTEMIS-1655 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1655 > Project: ActiveMQ Artemis > Issue Type: Bug >Affects Versions: 2.4.0 >Reporter: Michael Andre Pearce >Assignee: Michael Andre Pearce >Priority: Major > > 09:34:37,659 WARN [org.apache.activemq.artemis.utils.actors.OrderedExecutor] > AMQ119033: Invalid type: n > ull: java.lang.IllegalArgumentException: AMQ119033: Invalid type: null > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encodeMap(TransportConfiguration. > java:317) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encode(TransportConfiguration.jav > a:336) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 2.encodeRest(ClusterTopologyChangeMessage_V2.java:88) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAP > SHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 3.encodeRest(ClusterTopologyChangeMessage_V3.java:60) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1649) enable openssl provider for Netty
[ https://issues.apache.org/jira/browse/ARTEMIS-1649?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350501#comment-16350501 ] ASF GitHub Bot commented on ARTEMIS-1649: - Github user jbertram commented on the issue: https://github.com/apache/activemq-artemis/pull/1834 @rpahli, it would be appropriate to add the link to the documentation. > enable openssl provider for Netty > - > > Key: ARTEMIS-1649 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1649 > Project: ActiveMQ Artemis > Issue Type: New Feature >Reporter: Rico Pahlisch >Priority: Major > > We want to use the native Openssl Provider for netty to use the native > openssl. > Added the supprt to switch between JDK and OpenSSL Provider. -- 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=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
[jira] [Commented] (ARTEMIS-1652) XmlDataImporter forgets delete tmp files
[ https://issues.apache.org/jira/browse/ARTEMIS-1652?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350665#comment-16350665 ] ASF subversion and git services commented on ARTEMIS-1652: -- Commit b2a71d27301f30e15f39bf425346c9b134dc39f0 in activemq-artemis's branch refs/heads/master from Clebert Suconic [ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=b2a71d2 ] ARTEMIS-1652 Improving delete logic on XmlDataImporter Before this the test would use a string and a temporary file on the user's folder. After this the test will use a temporary file with the proper File.createTemporaryFile method. > XmlDataImporter forgets delete tmp files > > > Key: ARTEMIS-1652 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1652 > Project: ActiveMQ Artemis > Issue Type: Task > Components: Broker >Affects Versions: 2.4.0 >Reporter: Howard Gao >Assignee: Howard Gao >Priority: Major > Fix For: 2.5.0 > > > When using the tool to import more than one large messages from xml exported > file, this utility class will create some tmp files, each for one large > message. However it only delete one of the tmp files. All the rest of tmp > files won't get cleaned up. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1652) XmlDataImporter forgets delete tmp files
[ https://issues.apache.org/jira/browse/ARTEMIS-1652?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350666#comment-16350666 ] ASF GitHub Bot commented on ARTEMIS-1652: - Github user asfgit closed the pull request at: https://github.com/apache/activemq-artemis/pull/1836 > XmlDataImporter forgets delete tmp files > > > Key: ARTEMIS-1652 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1652 > Project: ActiveMQ Artemis > Issue Type: Task > Components: Broker >Affects Versions: 2.4.0 >Reporter: Howard Gao >Assignee: Howard Gao >Priority: Major > Fix For: 2.5.0 > > > When using the tool to import more than one large messages from xml exported > file, this utility class will create some tmp files, each for one large > message. However it only delete one of the tmp files. All the rest of tmp > files won't get cleaned up. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1650) Improve paged message acknowledge
[ https://issues.apache.org/jira/browse/ARTEMIS-1650?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350691#comment-16350691 ] ASF GitHub Bot commented on ARTEMIS-1650: - Github user clebertsuconic commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/1827#discussion_r165706644 --- Diff: artemis-server/src/main/java/org/apache/activemq/artemis/core/server/MessageReference.java --- @@ -38,6 +38,10 @@ public static MessageReference createReference(Message encode, final Queue queue Message getMessage(); + default long getMessageID() { --- End diff -- I agree here... > Improve paged message acknowledge > - > > Key: ARTEMIS-1650 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1650 > Project: ActiveMQ Artemis > Issue Type: Improvement > Components: Broker >Reporter: shoukun huai >Priority: Minor > Attachments: jstack.txt > > > PagedMessage may be GCed before it was acknowledged. In this case, server has > to reload the page and hold the page cache lock, then block other consumers > of the same queue. > When do acknowledge, we need at least message id, transaction id, and is > large message. > We believe the three property can be added to PagedReference, so we do not > rely on PagedMessage when acknowledge except LargeMessage. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1656) OpenWire scalability improvements
[ https://issues.apache.org/jira/browse/ARTEMIS-1656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350778#comment-16350778 ] ASF GitHub Bot commented on ARTEMIS-1656: - Github user franz1981 closed the pull request at: https://github.com/apache/activemq-artemis/pull/1842 > OpenWire scalability improvements > - > > Key: ARTEMIS-1656 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1656 > Project: ActiveMQ Artemis > Issue Type: Improvement >Reporter: Francesco Nigro >Assignee: Francesco Nigro >Priority: Minor > > OpenWire is using the synchronized OpenWireFormat instance belonging to > OpenWireProtocolManager: it won't allow to scale with the number of > connections. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1656) OpenWire scalability improvements
[ https://issues.apache.org/jira/browse/ARTEMIS-1656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350777#comment-16350777 ] ASF GitHub Bot commented on ARTEMIS-1656: - Github user franz1981 commented on the issue: https://github.com/apache/activemq-artemis/pull/1842 It is broking some test.. I will close it for now :+1: > OpenWire scalability improvements > - > > Key: ARTEMIS-1656 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1656 > Project: ActiveMQ Artemis > Issue Type: Improvement >Reporter: Francesco Nigro >Assignee: Francesco Nigro >Priority: Minor > > OpenWire is using the synchronized OpenWireFormat instance belonging to > OpenWireProtocolManager: it won't allow to scale with the number of > connections. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1600) Support masked passwords in bootstrap.xm and login.config
[ https://issues.apache.org/jira/browse/ARTEMIS-1600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350580#comment-16350580 ] ASF subversion and git services commented on ARTEMIS-1600: -- Commit 9acdec2468aa89cf6dfd99323f87c5c1a351bd0d in activemq-artemis's branch refs/heads/master from [~michael.andre.pearce] [ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=9acdec2 ] ARTEMIS-1655 Fix TransportConfiguration encode failing Check for null on isMaskPassword, seems this regressed in bb84f679363f62e8b2663f63bf23f04133de481d change for ARTEMIS-1600 > Support masked passwords in bootstrap.xm and login.config > - > > Key: ARTEMIS-1600 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1600 > Project: ActiveMQ Artemis > Issue Type: Improvement > Components: Broker, Web Console >Affects Versions: 2.4.0 >Reporter: Howard Gao >Assignee: Howard Gao >Priority: Major > Fix For: 2.5.0 > > > We provide a feature to mask passwords in the configuration files. > However, passwords in the bootstrap.xml (when the console is > secured with HTTPS) cannot be masked. This enhancement has > been opened to allow passwords in the bootstrap.xml to be masked > using the built-in masking feature provided by the broker. > Also the LDAPLoginModule configuration (in login.config) has a > connection password attribute that also needs this mask support. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1657) Memory usage on DLQ does not decrement when messages are moved
[ https://issues.apache.org/jira/browse/ARTEMIS-1657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350586#comment-16350586 ] ASF subversion and git services commented on ARTEMIS-1657: -- Commit 586487155ca90aca1f42464eaedff7b0ae9a3a5b in activemq-artemis's branch refs/heads/master from [~cshannon] [ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=5864871 ] ARTEMIS-1657 - Properly decrement memory usage when moving messages from queue When messages are retried and moved froma DLQ to the original queue the memory usage tracker needs to be decremented > Memory usage on DLQ does not decrement when messages are moved > -- > > Key: ARTEMIS-1657 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1657 > Project: ActiveMQ Artemis > Issue Type: Bug >Affects Versions: 2.4.0 >Reporter: Christopher L. Shannon >Assignee: Christopher L. Shannon >Priority: Major > Fix For: 2.5.0 > > > While doing some testing I noticed that if messages that are sent to the DLQ > are retried and moved back to their original queue the memory usage tracker > on the DLQ does not get decremented as it should. This is because the > refRemoved() method is never called after moving the message is it should. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1655) During failover a null key in TransportConfiguration is causing error during encode.
[ https://issues.apache.org/jira/browse/ARTEMIS-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350579#comment-16350579 ] ASF subversion and git services commented on ARTEMIS-1655: -- Commit 9acdec2468aa89cf6dfd99323f87c5c1a351bd0d in activemq-artemis's branch refs/heads/master from [~michael.andre.pearce] [ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=9acdec2 ] ARTEMIS-1655 Fix TransportConfiguration encode failing Check for null on isMaskPassword, seems this regressed in bb84f679363f62e8b2663f63bf23f04133de481d change for ARTEMIS-1600 > During failover a null key in TransportConfiguration is causing error during > encode. > > > Key: ARTEMIS-1655 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1655 > Project: ActiveMQ Artemis > Issue Type: Bug >Affects Versions: 2.4.0 >Reporter: Michael Andre Pearce >Assignee: Michael Andre Pearce >Priority: Major > > 09:34:37,659 WARN [org.apache.activemq.artemis.utils.actors.OrderedExecutor] > AMQ119033: Invalid type: n > ull: java.lang.IllegalArgumentException: AMQ119033: Invalid type: null > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encodeMap(TransportConfiguration. > java:317) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encode(TransportConfiguration.jav > a:336) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 2.encodeRest(ClusterTopologyChangeMessage_V2.java:88) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAP > SHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 3.encodeRest(ClusterTopologyChangeMessage_V3.java:60) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1657) Memory usage on DLQ does not decrement when messages are moved
[ https://issues.apache.org/jira/browse/ARTEMIS-1657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350588#comment-16350588 ] ASF GitHub Bot commented on ARTEMIS-1657: - Github user asfgit closed the pull request at: https://github.com/apache/activemq-artemis/pull/1840 > Memory usage on DLQ does not decrement when messages are moved > -- > > Key: ARTEMIS-1657 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1657 > Project: ActiveMQ Artemis > Issue Type: Bug >Affects Versions: 2.4.0 >Reporter: Christopher L. Shannon >Assignee: Christopher L. Shannon >Priority: Major > Fix For: 2.5.0 > > > While doing some testing I noticed that if messages that are sent to the DLQ > are retried and moved back to their original queue the memory usage tracker > on the DLQ does not get decremented as it should. This is because the > refRemoved() method is never called after moving the message is it should. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1654) Bridge reconnect broken
[ https://issues.apache.org/jira/browse/ARTEMIS-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350672#comment-16350672 ] ASF subversion and git services commented on ARTEMIS-1654: -- Commit 032210a7c692d26baa13a80f30a3cf62c5df594e in activemq-artemis's branch refs/heads/master from [~andytaylor] [ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=032210a ] ARTEMIS-1654 - fix brige reconnect logic Make sure that if a bridge disconnects and there is no record in the topology that it uses the original bridge connector to reconnect. Originally the live broker that disconnected was left in the Topology, thie broke quorum voting as when th evote happened all brokers when asked though th etarget broker was still alive. The fix for this was to remove the target live broker from the Topology. Since the bridge reconnect logic relied on this in a non HA environment to reconnect this stopped working. The fix now uses the original target connector (or backup) to reconnect in the case where the broker was actually removed from the cluster. https://issues.apache.org/jira/browse/ARTEMIS-1654 > Bridge reconnect broken > --- > > Key: ARTEMIS-1654 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1654 > Project: ActiveMQ Artemis > Issue Type: Bug >Reporter: Andy Taylor >Assignee: Andy Taylor >Priority: Major > > A quorum fix broker this. Originally we used to leave a node in th etopology > when it disconnected, this broke voting as all brokers thought a crashed live > was still around. The bridge reconnect logic relied on this so now it needs > to fall back to the originall connectors if no backup is available and the > live is lost. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (ARTEMIS-1657) Memory usage on DLQ does not decrement when messages are moved
[ https://issues.apache.org/jira/browse/ARTEMIS-1657?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Christopher L. Shannon resolved ARTEMIS-1657. - Resolution: Fixed > Memory usage on DLQ does not decrement when messages are moved > -- > > Key: ARTEMIS-1657 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1657 > Project: ActiveMQ Artemis > Issue Type: Bug >Affects Versions: 2.4.0 >Reporter: Christopher L. Shannon >Assignee: Christopher L. Shannon >Priority: Major > Fix For: 2.5.0 > > > While doing some testing I noticed that if messages that are sent to the DLQ > are retried and moved back to their original queue the memory usage tracker > on the DLQ does not get decremented as it should. This is because the > refRemoved() method is never called after moving the message is it should. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1654) Bridge reconnect broken
[ https://issues.apache.org/jira/browse/ARTEMIS-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350671#comment-16350671 ] ASF subversion and git services commented on ARTEMIS-1654: -- Commit 032210a7c692d26baa13a80f30a3cf62c5df594e in activemq-artemis's branch refs/heads/master from [~andytaylor] [ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=032210a ] ARTEMIS-1654 - fix brige reconnect logic Make sure that if a bridge disconnects and there is no record in the topology that it uses the original bridge connector to reconnect. Originally the live broker that disconnected was left in the Topology, thie broke quorum voting as when th evote happened all brokers when asked though th etarget broker was still alive. The fix for this was to remove the target live broker from the Topology. Since the bridge reconnect logic relied on this in a non HA environment to reconnect this stopped working. The fix now uses the original target connector (or backup) to reconnect in the case where the broker was actually removed from the cluster. https://issues.apache.org/jira/browse/ARTEMIS-1654 > Bridge reconnect broken > --- > > Key: ARTEMIS-1654 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1654 > Project: ActiveMQ Artemis > Issue Type: Bug >Reporter: Andy Taylor >Assignee: Andy Taylor >Priority: Major > > A quorum fix broker this. Originally we used to leave a node in th etopology > when it disconnected, this broke voting as all brokers thought a crashed live > was still around. The bridge reconnect logic relied on this so now it needs > to fall back to the originall connectors if no backup is available and the > live is lost. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1654) Bridge reconnect broken
[ https://issues.apache.org/jira/browse/ARTEMIS-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350673#comment-16350673 ] ASF GitHub Bot commented on ARTEMIS-1654: - Github user asfgit closed the pull request at: https://github.com/apache/activemq-artemis/pull/1838 > Bridge reconnect broken > --- > > Key: ARTEMIS-1654 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1654 > Project: ActiveMQ Artemis > Issue Type: Bug >Reporter: Andy Taylor >Assignee: Andy Taylor >Priority: Major > > A quorum fix broker this. Originally we used to leave a node in th etopology > when it disconnected, this broke voting as all brokers thought a crashed live > was still around. The bridge reconnect logic relied on this so now it needs > to fall back to the originall connectors if no backup is available and the > live is lost. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (ARTEMIS-1654) Bridge reconnect broken
[ https://issues.apache.org/jira/browse/ARTEMIS-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Justin Bertram resolved ARTEMIS-1654. - Resolution: Fixed Fix Version/s: 2.5.0 > Bridge reconnect broken > --- > > Key: ARTEMIS-1654 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1654 > Project: ActiveMQ Artemis > Issue Type: Bug >Reporter: Andy Taylor >Assignee: Andy Taylor >Priority: Major > Fix For: 2.5.0 > > > A quorum fix broker this. Originally we used to leave a node in th etopology > when it disconnected, this broke voting as all brokers thought a crashed live > was still around. The bridge reconnect logic relied on this so now it needs > to fall back to the originall connectors if no backup is available and the > live is lost. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1656) OpenWire scalability improvements
[ https://issues.apache.org/jira/browse/ARTEMIS-1656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350746#comment-16350746 ] ASF GitHub Bot commented on ARTEMIS-1656: - GitHub user franz1981 opened a pull request: https://github.com/apache/activemq-artemis/pull/1842 ARTEMIS-1656 OpenWire scalability improvements The improvements included are: - exclusive OpenWireFormat instances for input/output message paths - direct ByteBuf pooling for messages sent across connection - groupId pooling - stateless OpenWire converter You can merge this pull request into a Git repository by running: $ git pull https://github.com/franz1981/activemq-artemis open_wire_scalability Alternatively you can review and apply these changes as the patch at: https://github.com/apache/activemq-artemis/pull/1842.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 #1842 commit c2a9f884edead8634cea0e872b6252924db1a420 Author: Francesco NigroDate: 2018-02-02T11:59:16Z ARTEMIS-1656 OpenWire scalability improvements The improvements included are: - exclusive OpenWireFormat instances for input/output message paths - direct ByteBuf pooling for messages sent across connection - groupId pooling - stateless OpenWire converter > OpenWire scalability improvements > - > > Key: ARTEMIS-1656 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1656 > Project: ActiveMQ Artemis > Issue Type: Improvement >Reporter: Francesco Nigro >Assignee: Francesco Nigro >Priority: Minor > > OpenWire is using the synchronized OpenWireFormat instance belonging to > OpenWireProtocolManager: it won't allow to scale with the number of > connections. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1656) OpenWire scalability improvements
[ https://issues.apache.org/jira/browse/ARTEMIS-1656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350747#comment-16350747 ] ASF GitHub Bot commented on ARTEMIS-1656: - Github user franz1981 commented on the issue: https://github.com/apache/activemq-artemis/pull/1842 Do not merge it yet: need to run the OpenWire compatibility tests > OpenWire scalability improvements > - > > Key: ARTEMIS-1656 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1656 > Project: ActiveMQ Artemis > Issue Type: Improvement >Reporter: Francesco Nigro >Assignee: Francesco Nigro >Priority: Minor > > OpenWire is using the synchronized OpenWireFormat instance belonging to > OpenWireProtocolManager: it won't allow to scale with the number of > connections. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (ARTEMIS-1655) During failover a null key in TransportConfiguration is causing error during encode.
[ https://issues.apache.org/jira/browse/ARTEMIS-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Justin Bertram resolved ARTEMIS-1655. - Resolution: Fixed Fix Version/s: 2.5.0 > During failover a null key in TransportConfiguration is causing error during > encode. > > > Key: ARTEMIS-1655 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1655 > Project: ActiveMQ Artemis > Issue Type: Bug >Affects Versions: 2.4.0 >Reporter: Michael Andre Pearce >Assignee: Michael Andre Pearce >Priority: Major > Fix For: 2.5.0 > > > 09:34:37,659 WARN [org.apache.activemq.artemis.utils.actors.OrderedExecutor] > AMQ119033: Invalid type: n > ull: java.lang.IllegalArgumentException: AMQ119033: Invalid type: null > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encodeMap(TransportConfiguration. > java:317) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encode(TransportConfiguration.jav > a:336) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 2.encodeRest(ClusterTopologyChangeMessage_V2.java:88) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAP > SHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 3.encodeRest(ClusterTopologyChangeMessage_V3.java:60) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (ARTEMIS-1652) XmlDataImporter forgets delete tmp files
[ https://issues.apache.org/jira/browse/ARTEMIS-1652?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Justin Bertram resolved ARTEMIS-1652. - Resolution: Fixed > XmlDataImporter forgets delete tmp files > > > Key: ARTEMIS-1652 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1652 > Project: ActiveMQ Artemis > Issue Type: Task > Components: Broker >Affects Versions: 2.4.0 >Reporter: Howard Gao >Assignee: Howard Gao >Priority: Major > Fix For: 2.5.0 > > > When using the tool to import more than one large messages from xml exported > file, this utility class will create some tmp files, each for one large > message. However it only delete one of the tmp files. All the rest of tmp > files won't get cleaned up. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1655) During failover a null key in TransportConfiguration is causing error during encode.
[ https://issues.apache.org/jira/browse/ARTEMIS-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350581#comment-16350581 ] ASF GitHub Bot commented on ARTEMIS-1655: - Github user asfgit closed the pull request at: https://github.com/apache/activemq-artemis/pull/1841 > During failover a null key in TransportConfiguration is causing error during > encode. > > > Key: ARTEMIS-1655 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1655 > Project: ActiveMQ Artemis > Issue Type: Bug >Affects Versions: 2.4.0 >Reporter: Michael Andre Pearce >Assignee: Michael Andre Pearce >Priority: Major > > 09:34:37,659 WARN [org.apache.activemq.artemis.utils.actors.OrderedExecutor] > AMQ119033: Invalid type: n > ull: java.lang.IllegalArgumentException: AMQ119033: Invalid type: null > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encodeMap(TransportConfiguration. > java:317) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encode(TransportConfiguration.jav > a:336) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 2.encodeRest(ClusterTopologyChangeMessage_V2.java:88) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAP > SHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 3.encodeRest(ClusterTopologyChangeMessage_V3.java:60) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1658) Core queue lookup with Artemis RA no longer works with 1x address model
[ https://issues.apache.org/jira/browse/ARTEMIS-1658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350850#comment-16350850 ] ASF GitHub Bot commented on ARTEMIS-1658: - GitHub user mtaylor opened a pull request: https://github.com/apache/activemq-artemis/pull/1843 ARTEMIS-1658 Add prefix option to ActivationSpec Artemis 1.x RA would do a core queue lookup if it could not find the Destination in JNDI. We need to ensure that we can support the old address model for backwards compatability. You can merge this pull request into a Git repository by running: $ git pull https://github.com/mtaylor/activemq-artemis ARTEMIS-1658 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/activemq-artemis/pull/1843.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 #1843 commit 041373b04ee52c224059edfd1b4bcc54e448e360 Author: Martyn TaylorDate: 2018-02-01T15:52:25Z ARTEMIS-1658 Add prefix option to ActivationSpec Artemis 1.x RA would do a core queue lookup if it could not find the Destination in JNDI. We need to ensure that we can support the old address model for backwards compatability. > Core queue lookup with Artemis RA no longer works with 1x address model > --- > > Key: ARTEMIS-1658 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1658 > Project: ActiveMQ Artemis > Issue Type: Improvement >Reporter: Martyn Taylor >Priority: Major > > Artemis 1.x RA would do a core queue lookup if it could not find the > Destination in JNDI. We need to ensure that we can support the old > address model for backwards compatability. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (ARTEMIS-1658) Core queue lookup with Artemis RA no longer works with 1x address model
[ https://issues.apache.org/jira/browse/ARTEMIS-1658?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Martyn Taylor updated ARTEMIS-1658: --- Affects Version/s: 2.4.0 > Core queue lookup with Artemis RA no longer works with 1x address model > --- > > Key: ARTEMIS-1658 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1658 > Project: ActiveMQ Artemis > Issue Type: Improvement >Affects Versions: 2.4.0 >Reporter: Martyn Taylor >Priority: Major > > Artemis 1.x RA would do a core queue lookup if it could not find the > Destination in JNDI. We need to ensure that we can support the old > address model for backwards compatability. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1658) Core queue lookup with Artemis RA no longer works with 1x address model
[ https://issues.apache.org/jira/browse/ARTEMIS-1658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350864#comment-16350864 ] ASF subversion and git services commented on ARTEMIS-1658: -- Commit 8f47cd6e14d4f51995272feaae9460dd95e03fe5 in activemq-artemis's branch refs/heads/master from [~martyntaylor] [ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=8f47cd6 ] ARTEMIS-1658 Add prefix option to ActivationSpec Artemis 1.x RA would do a core queue lookup if it could not find the Destination in JNDI. We need to ensure that we can support the old address model for backwards compatability. > Core queue lookup with Artemis RA no longer works with 1x address model > --- > > Key: ARTEMIS-1658 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1658 > Project: ActiveMQ Artemis > Issue Type: Improvement >Affects Versions: 2.4.0 >Reporter: Martyn Taylor >Priority: Major > > Artemis 1.x RA would do a core queue lookup if it could not find the > Destination in JNDI. We need to ensure that we can support the old > address model for backwards compatability. > -- 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=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); + if (bytes
[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=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 --address queue_name_\$
[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=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=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); + putMsgBrokerPath(brokers,
[jira] [Commented] (ARTEMIS-1645) Diverted messages cannot be retried from DLQ
[ https://issues.apache.org/jira/browse/ARTEMIS-1645?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350912#comment-16350912 ] ASF GitHub Bot commented on ARTEMIS-1645: - GitHub user jbertram opened a pull request: https://github.com/apache/activemq-artemis/pull/1844 ARTEMIS-1645 fix test You can merge this pull request into a Git repository by running: $ git pull https://github.com/jbertram/activemq-artemis ARTEMIS-1645 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/activemq-artemis/pull/1844.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 #1844 commit f68c5b8db86e1a105c260ef490692474b70c962f Author: Justin BertramDate: 2018-02-02T20:24:26Z ARTEMIS-1645 fix test > Diverted messages cannot be retried from DLQ > > > Key: ARTEMIS-1645 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1645 > Project: ActiveMQ Artemis > Issue Type: Bug >Affects Versions: 2.4.0 >Reporter: Niels Lippke >Assignee: Justin Bertram >Priority: Critical > Fix For: 2.5.0 > > Attachments: QueueControlTest.java > > > Given a topic _SOURCE_ and a divert which forwards a message _M_ to a queue > _TARGET_. Consumer fails to process _M_ and _M_ is being send to DLQ. > > If you now retry _M_ from DLQ it is not send to _TARGET_ but you'll get > {{AMQ222196: Could not find binding ...}} > instead. > And even worse the message is lost afterwards (removed from DLQ)! > > My suspecion is, that the message properties are not correct regarding > {{_AMQ_ORIG_ADDRESS}} and {{_AMQ_ORIG_QUEUE.}} > Is: {{_AMQ_ORIG_ADDRESS=, _AMQ_ORIG_QUEUE=TARGET}} > Should be: {{_AMQ_ORIG_ADDRESS=, > _AMQ_ORIG_QUEUE=TARGET}} > > Attached you'll find a testcase "testRetryDivertedMessage" which > demonstrates the problem. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1632) Upgrade JBoss logging to 3.3.1.Final
[ https://issues.apache.org/jira/browse/ARTEMIS-1632?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350918#comment-16350918 ] ASF GitHub Bot commented on ARTEMIS-1632: - GitHub user jbertram opened a pull request: https://github.com/apache/activemq-artemis/pull/1845 ARTEMIS-1632 add PropertyPermission for test You can merge this pull request into a Git repository by running: $ git pull https://github.com/jbertram/activemq-artemis ARTEMIS-1632 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/activemq-artemis/pull/1845.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 #1845 commit e557b89be983b6383482057f2d34faf250a2ed8e Author: Justin BertramDate: 2018-02-02T20:29:40Z ARTEMIS-1632 add PropertyPermission for test > Upgrade JBoss logging to 3.3.1.Final > > > Key: ARTEMIS-1632 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1632 > Project: ActiveMQ Artemis > Issue Type: Improvement >Affects Versions: 2.4.0 >Reporter: Dejan Bosanac >Priority: Major > -- 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=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); + putMsgBrokerPath(brokers,
[jira] [Commented] (ARTEMIS-1658) Core queue lookup with Artemis RA no longer works with 1x address model
[ https://issues.apache.org/jira/browse/ARTEMIS-1658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350865#comment-16350865 ] ASF GitHub Bot commented on ARTEMIS-1658: - Github user asfgit closed the pull request at: https://github.com/apache/activemq-artemis/pull/1843 > Core queue lookup with Artemis RA no longer works with 1x address model > --- > > Key: ARTEMIS-1658 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1658 > Project: ActiveMQ Artemis > Issue Type: Improvement >Affects Versions: 2.4.0 >Reporter: Martyn Taylor >Priority: Major > > Artemis 1.x RA would do a core queue lookup if it could not find the > Destination in JNDI. We need to ensure that we can support the old > address model for backwards compatability. > -- 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=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-1658) Core queue lookup with Artemis RA no longer works with 1x address model
[ https://issues.apache.org/jira/browse/ARTEMIS-1658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16351300#comment-16351300 ] ASF subversion and git services commented on ARTEMIS-1658: -- Commit f08cd87526edf648e83901a72ba151f98b41b8dd in activemq-artemis's branch refs/heads/master from [~michael.andre.pearce] [ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=f08cd87 ] ARTEMIS-1658 Add prefix option to ActivationSpec checkstyle ifx > Core queue lookup with Artemis RA no longer works with 1x address model > --- > > Key: ARTEMIS-1658 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1658 > Project: ActiveMQ Artemis > Issue Type: Improvement >Affects Versions: 2.4.0 >Reporter: Martyn Taylor >Priority: Major > > Artemis 1.x RA would do a core queue lookup if it could not find the > Destination in JNDI. We need to ensure that we can support the old > address model for backwards compatability. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1658) Core queue lookup with Artemis RA no longer works with 1x address model
[ https://issues.apache.org/jira/browse/ARTEMIS-1658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16351301#comment-16351301 ] ASF GitHub Bot commented on ARTEMIS-1658: - Github user asfgit closed the pull request at: https://github.com/apache/activemq-artemis/pull/1847 > Core queue lookup with Artemis RA no longer works with 1x address model > --- > > Key: ARTEMIS-1658 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1658 > Project: ActiveMQ Artemis > Issue Type: Improvement >Affects Versions: 2.4.0 >Reporter: Martyn Taylor >Priority: Major > > Artemis 1.x RA would do a core queue lookup if it could not find the > Destination in JNDI. We need to ensure that we can support the old > address model for backwards compatability. > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (ARTEMIS-1658) Core queue lookup with Artemis RA no longer works with 1x address model
Martyn Taylor created ARTEMIS-1658: -- Summary: Core queue lookup with Artemis RA no longer works with 1x address model Key: ARTEMIS-1658 URL: https://issues.apache.org/jira/browse/ARTEMIS-1658 Project: ActiveMQ Artemis Issue Type: Improvement Reporter: Martyn Taylor Artemis 1.x RA would do a core queue lookup if it could not find the Destination in JNDI. We need to ensure that we can support the old address model for backwards compatability. -- 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=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); + if (bytes
[jira] [Commented] (ARTEMIS-1658) Core queue lookup with Artemis RA no longer works with 1x address model
[ https://issues.apache.org/jira/browse/ARTEMIS-1658?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16351299#comment-16351299 ] ASF GitHub Bot commented on ARTEMIS-1658: - GitHub user michaelandrepearce opened a pull request: https://github.com/apache/activemq-artemis/pull/1847 ARTEMIS-1658 Add prefix option to ActivationSpec Checkstyle fix You can merge this pull request into a Git repository by running: $ git pull https://github.com/michaelandrepearce/activemq-artemis ARTEMIS-1658 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/activemq-artemis/pull/1847.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 #1847 commit 4ede99ca67d518989c8b958ec5f9b7c1c174154e Author: Justin BertramDate: 2018-02-02T19:47:16Z ARTEMIS-1658 Add prefix option to ActivationSpec Checkstyle fix > Core queue lookup with Artemis RA no longer works with 1x address model > --- > > Key: ARTEMIS-1658 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1658 > Project: ActiveMQ Artemis > Issue Type: Improvement >Affects Versions: 2.4.0 >Reporter: Martyn Taylor >Priority: Major > > Artemis 1.x RA would do a core queue lookup if it could not find the > Destination in JNDI. We need to ensure that we can support the old > address model for backwards compatability. > -- 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=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=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=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.getUserID();
[jira] [Commented] (ARTEMIS-1655) During failover a null key in TransportConfiguration is causing error during encode.
[ https://issues.apache.org/jira/browse/ARTEMIS-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350179#comment-16350179 ] ASF GitHub Bot commented on ARTEMIS-1655: - Github user franz1981 commented on the issue: https://github.com/apache/activemq-artemis/pull/1839 @michaelandrepearce As soon as the checks will pass (if jenkins behave normally!!) I will merge it :+1: > During failover a null key in TransportConfiguration is causing error during > encode. > > > Key: ARTEMIS-1655 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1655 > Project: ActiveMQ Artemis > Issue Type: Bug >Affects Versions: 2.4.0 >Reporter: Michael Andre Pearce >Assignee: Michael Andre Pearce >Priority: Major > > 09:34:37,659 WARN [org.apache.activemq.artemis.utils.actors.OrderedExecutor] > AMQ119033: Invalid type: n > ull: java.lang.IllegalArgumentException: AMQ119033: Invalid type: null > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encodeMap(TransportConfiguration. > java:317) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encode(TransportConfiguration.jav > a:336) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 2.encodeRest(ClusterTopologyChangeMessage_V2.java:88) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAP > SHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 3.encodeRest(ClusterTopologyChangeMessage_V3.java:60) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1655) During failover a null key in TransportConfiguration is causing error during encode.
[ https://issues.apache.org/jira/browse/ARTEMIS-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350185#comment-16350185 ] ASF GitHub Bot commented on ARTEMIS-1655: - Github user michaelandrepearce closed the pull request at: https://github.com/apache/activemq-artemis/pull/1839 > During failover a null key in TransportConfiguration is causing error during > encode. > > > Key: ARTEMIS-1655 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1655 > Project: ActiveMQ Artemis > Issue Type: Bug >Affects Versions: 2.4.0 >Reporter: Michael Andre Pearce >Assignee: Michael Andre Pearce >Priority: Major > > 09:34:37,659 WARN [org.apache.activemq.artemis.utils.actors.OrderedExecutor] > AMQ119033: Invalid type: n > ull: java.lang.IllegalArgumentException: AMQ119033: Invalid type: null > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encodeMap(TransportConfiguration. > java:317) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encode(TransportConfiguration.jav > a:336) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 2.encodeRest(ClusterTopologyChangeMessage_V2.java:88) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAP > SHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 3.encodeRest(ClusterTopologyChangeMessage_V3.java:60) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] -- 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=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, > '__HDR_DROPPABLE':
[jira] [Commented] (ARTEMIS-1655) During failover a null key in TransportConfiguration is causing error during encode.
[ https://issues.apache.org/jira/browse/ARTEMIS-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350181#comment-16350181 ] ASF GitHub Bot commented on ARTEMIS-1655: - Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1839 @franz1981 can you just wait actually, ive jsut seen something, i want to recheck. > During failover a null key in TransportConfiguration is causing error during > encode. > > > Key: ARTEMIS-1655 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1655 > Project: ActiveMQ Artemis > Issue Type: Bug >Affects Versions: 2.4.0 >Reporter: Michael Andre Pearce >Assignee: Michael Andre Pearce >Priority: Major > > 09:34:37,659 WARN [org.apache.activemq.artemis.utils.actors.OrderedExecutor] > AMQ119033: Invalid type: n > ull: java.lang.IllegalArgumentException: AMQ119033: Invalid type: null > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encodeMap(TransportConfiguration. > java:317) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encode(TransportConfiguration.jav > a:336) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 2.encodeRest(ClusterTopologyChangeMessage_V2.java:88) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAP > SHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 3.encodeRest(ClusterTopologyChangeMessage_V3.java:60) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-853) Support for exclusive consumers
[ https://issues.apache.org/jira/browse/ARTEMIS-853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350184#comment-16350184 ] ASF GitHub Bot commented on ARTEMIS-853: Github user franz1981 commented on the issue: https://github.com/apache/activemq-artemis/pull/1832 @michaelandrepearce @gtully @mtaylor If everything is fine I will going to merge it, ok? > Support for exclusive consumers > --- > > Key: ARTEMIS-853 > URL: https://issues.apache.org/jira/browse/ARTEMIS-853 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Reporter: Matt Pavlovich >Priority: Major > > Artemis should support a consumer feature where a single consumer receives > all messages, even when multiple consumers are present. This capability > maintains message ordering while allowing a HA consumer. > ActiveMQ 5.x supports this, as does IBM MQ, Tibco EMS, etc. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1655) During failover a null key in TransportConfiguration is causing error during encode.
[ https://issues.apache.org/jira/browse/ARTEMIS-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350133#comment-16350133 ] ASF GitHub Bot commented on ARTEMIS-1655: - Github user franz1981 commented on the issue: https://github.com/apache/activemq-artemis/pull/1839 @michaelandrepearce If it ok I will going to merge it or you do it by yourself? > During failover a null key in TransportConfiguration is causing error during > encode. > > > Key: ARTEMIS-1655 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1655 > Project: ActiveMQ Artemis > Issue Type: Bug >Affects Versions: 2.4.0 >Reporter: Michael Andre Pearce >Assignee: Michael Andre Pearce >Priority: Major > > 09:34:37,659 WARN [org.apache.activemq.artemis.utils.actors.OrderedExecutor] > AMQ119033: Invalid type: n > ull: java.lang.IllegalArgumentException: AMQ119033: Invalid type: null > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encodeMap(TransportConfiguration. > java:317) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encode(TransportConfiguration.jav > a:336) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 2.encodeRest(ClusterTopologyChangeMessage_V2.java:88) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAP > SHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 3.encodeRest(ClusterTopologyChangeMessage_V3.java:60) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Assigned] (ARTEMIS-1630) Create Artemis Client Karaf features
[ https://issues.apache.org/jira/browse/ARTEMIS-1630?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Guillaume Nodet reassigned ARTEMIS-1630: Assignee: Guillaume Nodet > Create Artemis Client Karaf features > > > Key: ARTEMIS-1630 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1630 > Project: ActiveMQ Artemis > Issue Type: Improvement > Components: osgi >Affects Versions: 2.5.0 >Reporter: John Poth >Assignee: Guillaume Nodet >Priority: Major > > It would be nice to create Artemis client features that don't depend on > server side artifacts. > I'll submit a PR. Thanks! -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1654) Bridge reconnect broken
[ https://issues.apache.org/jira/browse/ARTEMIS-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16349959#comment-16349959 ] ASF GitHub Bot commented on ARTEMIS-1654: - Github user andytaylor commented on the issue: https://github.com/apache/activemq-artemis/pull/1838 @clebertsuconic could you check this > Bridge reconnect broken > --- > > Key: ARTEMIS-1654 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1654 > Project: ActiveMQ Artemis > Issue Type: Bug >Reporter: Andy Taylor >Assignee: Andy Taylor >Priority: Major > > A quorum fix broker this. Originally we used to leave a node in th etopology > when it disconnected, this broke voting as all brokers thought a crashed live > was still around. The bridge reconnect logic relied on this so now it needs > to fall back to the originall connectors if no backup is available and the > live is lost. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-1654) Bridge reconnect broken
[ https://issues.apache.org/jira/browse/ARTEMIS-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16349958#comment-16349958 ] ASF GitHub Bot commented on ARTEMIS-1654: - GitHub user andytaylor opened a pull request: https://github.com/apache/activemq-artemis/pull/1838 ARTEMIS-1654 - fix bridge reconnect logic Make sure that if a bridge disconnects and there is no record in the topology that it uses the original bridge connector to reconnect https://issues.apache.org/jira/browse/ARTEMIS-1654 You can merge this pull request into a Git repository by running: $ git pull https://github.com/andytaylor/activemq-artemis ARTEMIS-1654 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/activemq-artemis/pull/1838.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 #1838 commit 22311333dc19a6a76f377530b03f75eef5c186cc Author: Andy TaylorDate: 2018-02-01T13:22:59Z ARTEMIS-1654 - fix brige reconnect logic Make sure that if a bridge disconnects and there is no record in the topology that it uses the original bridge connector to reconnect https://issues.apache.org/jira/browse/ARTEMIS-1654 > Bridge reconnect broken > --- > > Key: ARTEMIS-1654 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1654 > Project: ActiveMQ Artemis > Issue Type: Bug >Reporter: Andy Taylor >Assignee: Andy Taylor >Priority: Major > > A quorum fix broker this. Originally we used to leave a node in th etopology > when it disconnected, this broke voting as all brokers thought a crashed live > was still around. The bridge reconnect logic relied on this so now it needs > to fall back to the originall connectors if no backup is available and the > live is lost. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (ARTEMIS-853) Support for exclusive consumers
[ https://issues.apache.org/jira/browse/ARTEMIS-853?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16349975#comment-16349975 ] ASF GitHub Bot commented on ARTEMIS-853: Github user michaelandrepearce commented on the issue: https://github.com/apache/activemq-artemis/pull/1832 @gtully you happy if this is merged? Just waiting on this before I continue with the other bits as mentioned > Support for exclusive consumers > --- > > Key: ARTEMIS-853 > URL: https://issues.apache.org/jira/browse/ARTEMIS-853 > Project: ActiveMQ Artemis > Issue Type: New Feature > Components: Broker >Reporter: Matt Pavlovich >Priority: Major > > Artemis should support a consumer feature where a single consumer receives > all messages, even when multiple consumers are present. This capability > maintains message ordering while allowing a HA consumer. > ActiveMQ 5.x supports this, as does IBM MQ, Tibco EMS, etc. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (ARTEMIS-1654) Bridge reconnect broken
Andy Taylor created ARTEMIS-1654: Summary: Bridge reconnect broken Key: ARTEMIS-1654 URL: https://issues.apache.org/jira/browse/ARTEMIS-1654 Project: ActiveMQ Artemis Issue Type: Bug Reporter: Andy Taylor Assignee: Andy Taylor A quorum fix broker this. Originally we used to leave a node in th etopology when it disconnected, this broke voting as all brokers thought a crashed live was still around. The bridge reconnect logic relied on this so now it needs to fall back to the originall connectors if no backup is available and the live is lost. -- 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=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=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 admin > Unsupported
[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=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 (bytes != null) {
[jira] [Created] (ARTEMIS-1655) During failover a null key in TransportConfiguration is causing error during encode.
Michael Andre Pearce created ARTEMIS-1655: - Summary: During failover a null key in TransportConfiguration is causing error during encode. Key: ARTEMIS-1655 URL: https://issues.apache.org/jira/browse/ARTEMIS-1655 Project: ActiveMQ Artemis Issue Type: Bug Affects Versions: 2.4.0 Reporter: Michael Andre Pearce Assignee: Michael Andre Pearce 09:34:37,659 WARN [org.apache.activemq.artemis.utils.actors.OrderedExecutor] AMQ119033: Invalid type: n ull: java.lang.IllegalArgumentException: AMQ119033: Invalid type: null at org.apache.activemq.artemis.api.core.TransportConfiguration.encodeMap(TransportConfiguration. java:317) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.api.core.TransportConfiguration.encode(TransportConfiguration.jav a:336) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] at org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V 2.encodeRest(ClusterTopologyChangeMessage_V2.java:88) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAP SHOT] at org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V 3.encodeRest(ClusterTopologyChangeMessage_V3.java:60) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] -- 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=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 (bytes != null) {
[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=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 (bytes != null) {
[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=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/clients/aac1.jar
[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=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 be there, as
[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=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 (bytes != null) {
[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=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 (bytes != null) {
[jira] [Commented] (ARTEMIS-1655) During failover a null key in TransportConfiguration is causing error during encode.
[ https://issues.apache.org/jira/browse/ARTEMIS-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16350101#comment-16350101 ] ASF GitHub Bot commented on ARTEMIS-1655: - GitHub user michaelandrepearce opened a pull request: https://github.com/apache/activemq-artemis/pull/1839 ARTEMIS-1655 TransportConfiguration - only encode non-null values Check for null, to avoid encoding issue, this is seen on failover. You can merge this pull request into a Git repository by running: $ git pull https://github.com/michaelandrepearce/activemq-artemis ARTEMIS-1655 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/activemq-artemis/pull/1839.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 #1839 commit 457e96b039a611e87bd8a4e7eb605525e0a815f0 Author: Michael André PearceDate: 2018-02-02T09:52:38Z ARTEMIS-1655 TransportConfiguration - only encode non-null values Check for null, to avoid encoding issue, this is seen on failover. > During failover a null key in TransportConfiguration is causing error during > encode. > > > Key: ARTEMIS-1655 > URL: https://issues.apache.org/jira/browse/ARTEMIS-1655 > Project: ActiveMQ Artemis > Issue Type: Bug >Affects Versions: 2.4.0 >Reporter: Michael Andre Pearce >Assignee: Michael Andre Pearce >Priority: Major > > 09:34:37,659 WARN [org.apache.activemq.artemis.utils.actors.OrderedExecutor] > AMQ119033: Invalid type: n > ull: java.lang.IllegalArgumentException: AMQ119033: Invalid type: null > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encodeMap(TransportConfiguration. > java:317) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.api.core.TransportConfiguration.encode(TransportConfiguration.jav > a:336) [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 2.encodeRest(ClusterTopologyChangeMessage_V2.java:88) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAP > SHOT] > at > org.apache.activemq.artemis.core.protocol.core.impl.wireformat.ClusterTopologyChangeMessage_V > 3.encodeRest(ClusterTopologyChangeMessage_V3.java:60) > [artemis-core-client-2.5.0-SNAPSHOT.jar:2.5.0-SNAPSHOT] -- This message was sent by Atlassian JIRA (v7.6.3#76005)