[jira] [Created] (ARTEMIS-1656) OpenWire scalability improvements

2018-02-02 Thread Francesco Nigro (JIRA)
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread Christopher L. Shannon (JIRA)
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

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

2018-02-02 Thread ASF GitHub Bot (JIRA)

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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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é Pearce 
Date:   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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF subversion and git services (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF subversion and git services (JIRA)

[ 
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

2018-02-02 Thread ASF subversion and git services (JIRA)

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

2018-02-02 Thread ASF subversion and git services (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF subversion and git services (JIRA)

[ 
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

2018-02-02 Thread Christopher L. Shannon (JIRA)

 [ 
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

2018-02-02 Thread ASF subversion and git services (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread Justin Bertram (JIRA)

 [ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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 Nigro 
Date:   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

2018-02-02 Thread ASF GitHub Bot (JIRA)

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

2018-02-02 Thread Justin Bertram (JIRA)

 [ 
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

2018-02-02 Thread Justin Bertram (JIRA)

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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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 Taylor 
Date:   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

2018-02-02 Thread Martyn Taylor (JIRA)

 [ 
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

2018-02-02 Thread ASF subversion and git services (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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 Bertram 
Date:   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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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 Bertram 
Date:   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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF subversion and git services (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread Martyn Taylor (JIRA)
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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 Bertram 
Date:   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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

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

2018-02-02 Thread ASF GitHub Bot (JIRA)

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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread Guillaume Nodet (JIRA)

 [ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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 Taylor 
Date:   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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread Andy Taylor (JIRA)
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

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

2018-02-02 Thread Michael Andre Pearce (JIRA)
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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

2018-02-02 Thread ASF GitHub Bot (JIRA)

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

2018-02-02 Thread ASF GitHub Bot (JIRA)

[ 
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é Pearce 
Date:   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)