[jira] [Updated] (AMQ-7099) After upgrading activemq 5.5.1 to activemq 5.13.1, issues with java.security.Security.insertProviderAt/org.apache.activemq.broker.BrokerService

2018-11-14 Thread sunil kumar (JIRA)


 [ 
https://issues.apache.org/jira/browse/AMQ-7099?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

sunil kumar updated AMQ-7099:
-
Description: 
We upgraded activemq 5.5.1 to activemq 5.13.1 to over come the security 
vulnerable to CVE-2015-5254 and CVE-2014-3612. for ref: here are the links for 
each CVE: 
[http://activemq.apache.org/security-advisories.data/CVE-2015-5254-announcement.txt?version=1=1449589734000=v2]
 
[http://activemq.apache.org/security-advisories.data/CVE-2014-3612-announcement.txt?version=2=1423051365000=v2]

 

After upgrading we hit with following issues while getting LDAP user 
informations .

Following are the stack trace :

*16:06:07.353 0x33fb300 j9trc_aux.0 - jstacktrace:*
 *16:06:07.353 0x33fb300 j9trc_aux.1 - [1] 
java.security.Security.insertProviderAt (Security.java:369)*
 *16:06:07.353 0x33fb300 j9trc_aux.1 - [2] 
org.apache.activemq.broker.BrokerService. (BrokerService.java:275)*
 *16:06:07.353 0x33fb300 j9trc_aux.1 - [3] 
com.ibm.tivoli.rest.event.amq.AMQPropertiesBrokerFactory.createBroker 
(AMQPropertiesBrokerFactory.java:30)*
 *16:06:07.353 0x33fb300 j9trc_aux.1 - [4] 
org.apache.activemq.broker.BrokerFactory.createBroker (BrokerFactory.java:71)*
 *16:06:07.353 0x33fb300 j9trc_aux.1 - [5] 
org.apache.activemq.broker.BrokerFactory.createBroker (BrokerFactory.java:54)*
 *16:06:07.353 0x33fb300 j9trc_aux.1 - [6] 
com.ibm.tivoli.rest.event.amq.AMQEventRouterFactory.startBroker 
(AMQEventRouterFactory.java:430)*
 *16:06:07.353 0x33fb300 j9trc_aux.1 - [7] 
com.ibm.tivoli.rest.event.amq.AMQEventRouterFactory.start 
(AMQEventRouterFactory.java:151)*
 *16:06:07.353 0x33fb300 j9trc_aux.1 - [8] 
com.ibm.tivoli.rest.event.EventRouterFactory.getInstance 
(EventRouterFactory.java:43)*
 *16:06:07.353 0x33fb300 j9trc_aux.1 - [9] 
com.ibm.tivoli.rest.amq.AjaxServlet. (AjaxServlet.java:59)*
 *16:06:07.353 0x33fb300 j9trc_aux.1 - [10] 
java.lang.J9VMInternals.newInstanceImpl (Native Method)*
 16:06:07.353 0x33fb300 j9trc_aux.1 - [11] java.lang.Class.newInstance 
(Class.java:1843) (Compiled Code)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [12] java.beans.Beans.instantiate 
(Beans.java:240)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [13] java.beans.Beans.instantiate 
(Beans.java:88)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [14] 
com.ibm.ws.webcontainer.servlet.ServletWrapper$1.run (ServletWrapper.java:1489)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [15] 
com.ibm.ws.security.util.AccessController.doPrivileged 
(AccessController.java:118) (Compiled Code)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [16] 
com.ibm.ws.webcontainer.servlet.ServletWrapper.loadServlet 
(ServletWrapper.java:1478)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [17] 
com.ibm.ws.webcontainer.servlet.ServletWrapper.loadOnStartupCheck 
(ServletWrapper.java:1357)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [18] 
com.ibm.ws.webcontainer.webapp.WebApp.doLoadOnStartupActions (WebApp.java:642)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [19] 
com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinally 
(WebApp.java:608)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [20] 
com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize (WebAppImpl.java:426)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [21] 
com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication 
(WebGroupImpl.java:88)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [22] 
com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication 
(VirtualHostImpl.java:171)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [23] 
com.ibm.ws.webcontainer.WSWebContainer.addWebApp (WSWebContainer.java:904)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [24] 
com.ibm.ws.webcontainer.WSWebContainer.addWebApplication 
(WSWebContainer.java:789)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [25] 
com.ibm.ws.webcontainer.component.WebContainerImpl.install 
(WebContainerImpl.java:427)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [26] 
com.ibm.ws.webcontainer.component.WebContainerImpl.start 
(WebContainerImpl.java:719)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [27] 
com.ibm.ws.runtime.component.ApplicationMgrImpl.start 
(ApplicationMgrImpl.java:1211)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [28] 
com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart 
(DeployedApplicationImpl.java:1450)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [29] 
com.ibm.ws.runtime.component.DeployedModuleImpl.start 
(DeployedModuleImpl.java:639)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [30] 
com.ibm.ws.runtime.component.DeployedApplicationImpl.start 
(DeployedApplicationImpl.java:1032)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [31] 
com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication 
(ApplicationMgrImpl.java:795)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [32] 
com.ibm.ws.runtime.component.ApplicationMgrImpl$5.run 
(ApplicationMgrImpl.java:2279)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [33] 
com.ibm.ws.security.auth.ContextManagerImpl.runAs (ContextManagerImpl.java:5572)
 16:06:07.353 0x33fb300 j9trc_aux.1 - [34] 

[jira] [Created] (AMQ-7099) After upgrading activemq 5.5.1 to activemq 5.13.1, issues with java.security.Security.insertProviderAt/org.apache.activemq.broker.BrokerService

2018-11-14 Thread sunil kumar (JIRA)
sunil kumar created AMQ-7099:


 Summary: After upgrading activemq 5.5.1 to activemq 5.13.1, issues 
with  
java.security.Security.insertProviderAt/org.apache.activemq.broker.BrokerService
 Key: AMQ-7099
 URL: https://issues.apache.org/jira/browse/AMQ-7099
 Project: ActiveMQ
  Issue Type: Bug
  Components: Broker
Affects Versions: 5.13.1
 Environment: OS: All platforms 

Products involved are :

WAS 8.5.5.9 - 8.5.5.14

LDAP/Active directory

JazzSM(DASH) 3.1.3 CP5 -CP7
Reporter: sunil kumar


We upgraded activemq 5.5.1 to activemq 5.13.1 to over come the security 
vulnerable to CVE-2015-5254 and CVE-2014-3612. for ref: here are the links for 
each CVE: 
http://activemq.apache.org/security-advisories.data/CVE-2015-5254-announcement.txt?version=1=1449589734000=v2
 
http://activemq.apache.org/security-advisories.data/CVE-2014-3612-announcement.txt?version=2=1423051365000=v2

 

After upgrading we hit with following issues while getting LDAP user 
informations .

Following are the stack trace :

*16:06:07.353 0x33fb300 j9trc_aux.0 - jstacktrace:*
*16:06:07.353 0x33fb300 j9trc_aux.1 - [1] 
java.security.Security.insertProviderAt (Security.java:369)*
*16:06:07.353 0x33fb300 j9trc_aux.1 - [2] 
org.apache.activemq.broker.BrokerService. (BrokerService.java:275)*
*16:06:07.353 0x33fb300 j9trc_aux.1 - [3] 
com.ibm.tivoli.rest.event.amq.AMQPropertiesBrokerFactory.createBroker 
(AMQPropertiesBrokerFactory.java:30)*
*16:06:07.353 0x33fb300 j9trc_aux.1 - [4] 
org.apache.activemq.broker.BrokerFactory.createBroker (BrokerFactory.java:71)*
*16:06:07.353 0x33fb300 j9trc_aux.1 - [5] 
org.apache.activemq.broker.BrokerFactory.createBroker (BrokerFactory.java:54)*
*16:06:07.353 0x33fb300 j9trc_aux.1 - [6] 
com.ibm.tivoli.rest.event.amq.AMQEventRouterFactory.startBroker 
(AMQEventRouterFactory.java:430)*
*16:06:07.353 0x33fb300 j9trc_aux.1 - [7] 
com.ibm.tivoli.rest.event.amq.AMQEventRouterFactory.start 
(AMQEventRouterFactory.java:151)*
*16:06:07.353 0x33fb300 j9trc_aux.1 - [8] 
com.ibm.tivoli.rest.event.EventRouterFactory.getInstance 
(EventRouterFactory.java:43)*
*16:06:07.353 0x33fb300 j9trc_aux.1 - [9] 
com.ibm.tivoli.rest.amq.AjaxServlet. (AjaxServlet.java:59)*
*16:06:07.353 0x33fb300 j9trc_aux.1 - [10] 
java.lang.J9VMInternals.newInstanceImpl (Native Method)*
16:06:07.353 0x33fb300 j9trc_aux.1 - [11] java.lang.Class.newInstance 
(Class.java:1843) (Compiled Code)
16:06:07.353 0x33fb300 j9trc_aux.1 - [12] java.beans.Beans.instantiate 
(Beans.java:240)
16:06:07.353 0x33fb300 j9trc_aux.1 - [13] java.beans.Beans.instantiate 
(Beans.java:88)
16:06:07.353 0x33fb300 j9trc_aux.1 - [14] 
com.ibm.ws.webcontainer.servlet.ServletWrapper$1.run (ServletWrapper.java:1489)
16:06:07.353 0x33fb300 j9trc_aux.1 - [15] 
com.ibm.ws.security.util.AccessController.doPrivileged 
(AccessController.java:118) (Compiled Code)
16:06:07.353 0x33fb300 j9trc_aux.1 - [16] 
com.ibm.ws.webcontainer.servlet.ServletWrapper.loadServlet 
(ServletWrapper.java:1478)
16:06:07.353 0x33fb300 j9trc_aux.1 - [17] 
com.ibm.ws.webcontainer.servlet.ServletWrapper.loadOnStartupCheck 
(ServletWrapper.java:1357)
16:06:07.353 0x33fb300 j9trc_aux.1 - [18] 
com.ibm.ws.webcontainer.webapp.WebApp.doLoadOnStartupActions (WebApp.java:642)
16:06:07.353 0x33fb300 j9trc_aux.1 - [19] 
com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinally 
(WebApp.java:608)
16:06:07.353 0x33fb300 j9trc_aux.1 - [20] 
com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize (WebAppImpl.java:426)
16:06:07.353 0x33fb300 j9trc_aux.1 - [21] 
com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication 
(WebGroupImpl.java:88)
16:06:07.353 0x33fb300 j9trc_aux.1 - [22] 
com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication 
(VirtualHostImpl.java:171)
16:06:07.353 0x33fb300 j9trc_aux.1 - [23] 
com.ibm.ws.webcontainer.WSWebContainer.addWebApp (WSWebContainer.java:904)
16:06:07.353 0x33fb300 j9trc_aux.1 - [24] 
com.ibm.ws.webcontainer.WSWebContainer.addWebApplication 
(WSWebContainer.java:789)
16:06:07.353 0x33fb300 j9trc_aux.1 - [25] 
com.ibm.ws.webcontainer.component.WebContainerImpl.install 
(WebContainerImpl.java:427)
16:06:07.353 0x33fb300 j9trc_aux.1 - [26] 
com.ibm.ws.webcontainer.component.WebContainerImpl.start 
(WebContainerImpl.java:719)
16:06:07.353 0x33fb300 j9trc_aux.1 - [27] 
com.ibm.ws.runtime.component.ApplicationMgrImpl.start 
(ApplicationMgrImpl.java:1211)
16:06:07.353 0x33fb300 j9trc_aux.1 - [28] 
com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart 
(DeployedApplicationImpl.java:1450)
16:06:07.353 0x33fb300 j9trc_aux.1 - [29] 
com.ibm.ws.runtime.component.DeployedModuleImpl.start 
(DeployedModuleImpl.java:639)
16:06:07.353 0x33fb300 j9trc_aux.1 - [30] 
com.ibm.ws.runtime.component.DeployedApplicationImpl.start 
(DeployedApplicationImpl.java:1032)
16:06:07.353 0x33fb300 j9trc_aux.1 - [31] 

[jira] [Commented] (ARTEMIS-1867) Support FQQN in STOMP

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-1867?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16687434#comment-16687434
 ] 

ASF GitHub Bot commented on ARTEMIS-1867:
-

GitHub user jbertram opened a pull request:

https://github.com/apache/activemq-artemis/pull/2434

ARTEMIS-1867 FQQN for producers 



You can merge this pull request into a Git repository by running:

$ git pull https://github.com/jbertram/activemq-artemis ARTEMIS-1867-2

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/activemq-artemis/pull/2434.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 #2434


commit 3248c7c22b470dc213edaa52320460503ca9d3b3
Author: Justin Bertram 
Date:   2018-11-10T02:17:39Z

NO-JIRA de-duplicate createQueue()

There were two different but nearly identical implementations of
createQueue(). I consolidated these into a single method. There should
be no semantic differences.

commit 27d7ea59eee90384792c1bd8868715ec44552ede
Author: Justin Bertram 
Date:   2018-11-12T22:05:53Z

ARTEMIS-1867 FQQN for producers

There's a *slight* semantic change with the behavior of the queue query
and binding query to make them consistent with the address query, namely
that they will return the name of the queue and the name of the address
in every case and the returned names will be not use the FQQN syntax but
will be parsed to reflect their actual names in the broker.




> Support FQQN in STOMP
> -
>
> Key: ARTEMIS-1867
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1867
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: STOMP
>Reporter: Justin Bertram
>Priority: Major
>
> Allow STOMP clients to send messages directly to a fully-qualified queue 
> rather than just an address.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (ARTEMIS-1867) Support FQQN for producers

2018-11-14 Thread Justin Bertram (JIRA)


 [ 
https://issues.apache.org/jira/browse/ARTEMIS-1867?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Justin Bertram updated ARTEMIS-1867:

Summary: Support FQQN for producers  (was: Support FQQN in STOMP)

> Support FQQN for producers
> --
>
> Key: ARTEMIS-1867
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1867
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: STOMP
>Reporter: Justin Bertram
>Priority: Major
>
> Allow STOMP clients to send messages directly to a fully-qualified queue 
> rather than just an address.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-1938) AMQP: Update Qpid JMS (and Netty) and Proton-J to latest

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-1938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16687142#comment-16687142
 ] 

ASF GitHub Bot commented on ARTEMIS-1938:
-

GitHub user tabish121 opened a pull request:

https://github.com/apache/activemq-artemis/pull/2433

ARTEMIS-1938 Update proton-j to 0.30.0 and Qpid JMS 0.37.0

Update to latest proton-j release and refactor the dispostion code to use
the new type enums to better deal with the dispistions.  Updates to Qpid JMS
0.37.0 which still uses the current netty 4.1.28.Final dependency.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/tabish121/activemq-artemis ARTEMIS-1938-0.30.0

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/activemq-artemis/pull/2433.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 #2433


commit ec35e9c512ca247866f3716f2b86826aafdab576
Author: Timothy Bish 
Date:   2018-11-14T21:17:00Z

ARTEMIS-1938 Update proton-j to 0.30.0 and Qpid JMS 0.37.0

Update to latest proton-j release and refactor the dispostion code to use
the new type enums to better deal with the dispistions.  Updates to Qpid JMS
0.37.0 which still uses the current netty 4.1.28.Final dependency.




> AMQP: Update Qpid JMS (and Netty) and Proton-J to latest
> 
>
> Key: ARTEMIS-1938
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1938
> Project: ActiveMQ Artemis
>  Issue Type: Task
>  Components: AMQP
>Affects Versions: 2.6.1
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Minor
> Fix For: 2.7.0
>
>
> Update to latest Qpid JMS client release



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2163) Classloading issue if artemis-commons is not in ther same classloader as artemis-client-* or artemis-server

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686989#comment-16686989
 ] 

ASF GitHub Bot commented on ARTEMIS-2163:
-

Github user ehsavoie commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2416#discussion_r233576260
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientSessionFactoryImpl.java
 ---
@@ -982,7 +982,13 @@ protected ConnectorFactory 
instantiateConnectorFactory(final String connectorFac
   return AccessController.doPrivileged(new 
PrivilegedAction() {
  @Override
  public ConnectorFactory run() {
-return (ConnectorFactory) 
ClassloadingUtil.newInstanceFromClassLoader(connectorFactoryClassName);
+ClassLoader cl = 
Thread.currentThread().getContextClassLoader();
--- End diff --

done


> Classloading issue if artemis-commons is not in ther same classloader as 
> artemis-client-* or artemis-server
> ---
>
> Key: ARTEMIS-2163
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2163
> Project: ActiveMQ Artemis
>  Issue Type: Wish
>  Components: Broker
>Affects Versions: 2.6.3
>Reporter: Emmanuel Hugonnet
>Priority: Major
>
> The class org.apache.activemq.artemis.utils.ClassLoadingUtil is defined in 
> artemis-commons. In a jboss-modules environment this creates a loop to be 
> able to load classes from another module.
> Setting the ThreadContext classloader to the calling class before invoking 
> ClassLoadingUtil
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2170) Optimized CoreMessage's checkProperties and cleanupInternalProperties methods

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686934#comment-16686934
 ] 

ASF GitHub Bot commented on ARTEMIS-2170:
-

Github user michaelandrepearce commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2427#discussion_r233559690
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java
 ---
@@ -52,6 +52,62 @@
  *  consumers */
 public class CoreMessage extends RefCountMessage implements ICoreMessage {
 
+   private static final class CoreTypedProperties extends TypedProperties {
+
+  // We use properties to establish routing context on clustering.
+  // However if the client resends the message after receiving, it 
needs to be removed
+  private static final Predicate 
INTERNAL_PROPERTY_NAMES_CLEANUP_FILTER =
+ name -> (name.startsWith(Message.HDR_ROUTE_TO_IDS) && 
!name.equals(Message.HDR_ROUTE_TO_IDS)) ||
+(name.startsWith(Message.HDR_ROUTE_TO_ACK_IDS) && 
!name.equals(Message.HDR_ROUTE_TO_ACK_IDS));
+  private static final SimpleString AMQ_PROPNAME = new 
SimpleString("_AMQ_");
+  private boolean internalProperties;
+
+  CoreTypedProperties() {
+ super();
+ internalProperties = false;
+  }
+
+  private CoreTypedProperties(TypedProperties other) {
+ super(other);
+ if (other instanceof CoreTypedProperties) {
+internalProperties = ((CoreTypedProperties) 
other).internalProperties;
+ } else {
+internalProperties = other.containsProperty(name -> 
name.startsWith(AMQ_PROPNAME));
+ }
+  }
+
+  @Override
+  protected synchronized void doPutValue(SimpleString key, 
TypedProperties.PropertyValue value) {
+ if (!internalProperties && key.startsWith(AMQ_PROPNAME)) {
+internalProperties = true;
+ }
+ super.doPutValue(key, value);
+  }
+
+  public synchronized boolean cleanupInternalProperties() {
+ if (!internalProperties) {
+return false;
+ }
+ return removeProperty(INTERNAL_PROPERTY_NAMES_CLEANUP_FILTER);
+  }
+
+  public static boolean cleanupInternalProperties(TypedProperties 
typedProperties) {
+ if (typedProperties == null) {
+return false;
+ }
+ if (typedProperties instanceof CoreTypedProperties) {
+return ((CoreTypedProperties) 
typedProperties).cleanupInternalProperties();
+ }
+ return 
typedProperties.removeProperty(INTERNAL_PROPERTY_NAMES_CLEANUP_FILTER);
+  }
+
+  public static CoreTypedProperties copyOf(TypedProperties 
typedProperties) {
+ synchronized (typedProperties) {
--- End diff --

Of course


> Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
> -
>
> Key: ARTEMIS-2170
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2170
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Minor
>
> CoreMessage::checkProperties perform too many volatile read/write and has a 
> too big body just to handle exceptional cases, while 
> cleanupInternalProperties is called on the hot path of session send, but is 
> performing too many synchronized operations and loopup on TypedProperties.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2176) RA connection properties are not propagated to XARecoveryConfig

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686880#comment-16686880
 ] 

ASF GitHub Bot commented on ARTEMIS-2176:
-

Github user clebertsuconic commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2432#discussion_r233540277
  
--- Diff: 
artemis-service-extensions/src/main/java/org/apache/activemq/artemis/service/extensions/xa/recovery/XARecoveryConfig.java
 ---
@@ -45,16 +45,41 @@
private final Map properties;
private final ClientProtocolManagerFactory clientProtocolManager;
 
+   // ServerLocator properties
--- End diff --

why you had to bring those here?


> RA connection properties are not propagated to XARecoveryConfig
> ---
>
> Key: ARTEMIS-2176
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2176
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.6.3
>Reporter: Bartosz Spyrko-Smietanko
>Priority: Major
>
> XARecoveryConfig#createServerLocator uses only 
> TransportConfiguration/DiscoveryGroupConfiguration to create a new instance 
> of ServerLocator. That means that connection properties like connectionTTL or 
> callFailoverTime are ignored.  This can lead to network issues - eg. 
> [https://issues.jboss.org/browse/WFLY-10725] 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2163) Classloading issue if artemis-commons is not in ther same classloader as artemis-client-* or artemis-server

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686879#comment-16686879
 ] 

ASF GitHub Bot commented on ARTEMIS-2163:
-

Github user clebertsuconic commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2416#discussion_r233539372
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientSessionFactoryImpl.java
 ---
@@ -982,7 +982,13 @@ protected ConnectorFactory 
instantiateConnectorFactory(final String connectorFac
   return AccessController.doPrivileged(new 
PrivilegedAction() {
  @Override
  public ConnectorFactory run() {
-return (ConnectorFactory) 
ClassloadingUtil.newInstanceFromClassLoader(connectorFactoryClassName);
+ClassLoader cl = 
Thread.currentThread().getContextClassLoader();
--- End diff --

@ehsavoie can you amend it then?


> Classloading issue if artemis-commons is not in ther same classloader as 
> artemis-client-* or artemis-server
> ---
>
> Key: ARTEMIS-2163
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2163
> Project: ActiveMQ Artemis
>  Issue Type: Wish
>  Components: Broker
>Affects Versions: 2.6.3
>Reporter: Emmanuel Hugonnet
>Priority: Major
>
> The class org.apache.activemq.artemis.utils.ClassLoadingUtil is defined in 
> artemis-commons. In a jboss-modules environment this creates a loop to be 
> able to load classes from another module.
> Setting the ThreadContext classloader to the calling class before invoking 
> ClassLoadingUtil
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2175) Duplicate messages when JMS bridge is stopped and restarted

2018-11-14 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686846#comment-16686846
 ] 

ASF subversion and git services commented on ARTEMIS-2175:
--

Commit 566ecbb4d29ec7f201bb7f6645252dbc0eb72228 in activemq-artemis's branch 
refs/heads/2.6.x from [~iweiss]
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=566ecbb ]

[ARTEMIS-2175] Duplicate messages when JMS bridge is stopped and restarted

Issue: https://issues.apache.org/jira/browse/ARTEMIS-2175
(cherry picked from commit ff5f1213bbf3fd2cfd9419ce44a4baf77ed9597f)


> Duplicate messages when JMS bridge is stopped and restarted
> ---
>
> Key: ARTEMIS-2175
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2175
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Broker
>Affects Versions: 2.7.0
>Reporter: Ingo Weiss
>Priority: Major
>  Labels: bridge, jms
>
> When a JMS bridge is stopped and then restarted, during a short period the 
> source might quickly try to retransmit a rolled back message outside the 
> transaction, leading to a duplicate message on the target.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2163) Classloading issue if artemis-commons is not in ther same classloader as artemis-client-* or artemis-server

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686858#comment-16686858
 ] 

ASF GitHub Bot commented on ARTEMIS-2163:
-

Github user ehsavoie commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2416#discussion_r233531108
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientSessionFactoryImpl.java
 ---
@@ -982,7 +982,13 @@ protected ConnectorFactory 
instantiateConnectorFactory(final String connectorFac
   return AccessController.doPrivileged(new 
PrivilegedAction() {
  @Override
  public ConnectorFactory run() {
-return (ConnectorFactory) 
ClassloadingUtil.newInstanceFromClassLoader(connectorFactoryClassName);
+ClassLoader cl = 
Thread.currentThread().getContextClassLoader();
--- End diff --

No problem there



> Classloading issue if artemis-commons is not in ther same classloader as 
> artemis-client-* or artemis-server
> ---
>
> Key: ARTEMIS-2163
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2163
> Project: ActiveMQ Artemis
>  Issue Type: Wish
>  Components: Broker
>Affects Versions: 2.6.3
>Reporter: Emmanuel Hugonnet
>Priority: Major
>
> The class org.apache.activemq.artemis.utils.ClassLoadingUtil is defined in 
> artemis-commons. In a jboss-modules environment this creates a loop to be 
> able to load classes from another module.
> Setting the ThreadContext classloader to the calling class before invoking 
> ClassLoadingUtil
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2174) Broker reconnect to another with scale down policy cause OOM

2018-11-14 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2174?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686852#comment-16686852
 ] 

ASF subversion and git services commented on ARTEMIS-2174:
--

Commit 173b21e6e23828f595ff9101e043071e69d9aa8a in activemq-artemis's branch 
refs/heads/2.6.x from [~gaohoward]
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=173b21e ]

ARTEMIS-2174 Broker reconnect cause OOM with scale down

When a node tries to reconnects to another node in a scale down cluster,
the reconnect request gets denied by the other node and keeps retrying,
which causes tasks in the ordered executor accumulate and eventually OOM.

The fix is to change the ActiveMQPacketHandler#handleCheckForFailover
to allow reconnect if the scale down node is the node itself.

(cherry picked from commit 6e89b22eaae8cd82852ae3d0a643bb3502cf994c)


> Broker reconnect to another with scale down policy cause OOM
> 
>
> Key: ARTEMIS-2174
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2174
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Broker
>Affects Versions: 2.6.3
>Reporter: Howard Gao
>Assignee: Howard Gao
>Priority: Major
> Fix For: 2.6.4
>
>
> When a node tries to reconnects to another node in a scale down cluster, the 
> reconnect request gets denied by the other node and keeps retrying, which 
> causes tasks in the ordered executor accumulate and eventually OOM.
> To reproduce:
>  # Start 2 nodes (node1 and 2) cluster configured in scale down mode.
>  # stop node2 and restart it.
>  # node1 will try to reconnect to node2 repeatedly and ever succeed.
>  # Inspect the connecting ClientSessionFactory (like adding log) and its 
> threadpool (closeExecutor an object of OrderedExecutor) keeps adding tasks to 
> its queue.
> Over the time the queue keeps ever growing, and will exhaust the heap memory.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2175) Duplicate messages when JMS bridge is stopped and restarted

2018-11-14 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686847#comment-16686847
 ] 

ASF subversion and git services commented on ARTEMIS-2175:
--

Commit 566ecbb4d29ec7f201bb7f6645252dbc0eb72228 in activemq-artemis's branch 
refs/heads/2.6.x from [~iweiss]
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=566ecbb ]

[ARTEMIS-2175] Duplicate messages when JMS bridge is stopped and restarted

Issue: https://issues.apache.org/jira/browse/ARTEMIS-2175
(cherry picked from commit ff5f1213bbf3fd2cfd9419ce44a4baf77ed9597f)


> Duplicate messages when JMS bridge is stopped and restarted
> ---
>
> Key: ARTEMIS-2175
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2175
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Broker
>Affects Versions: 2.7.0
>Reporter: Ingo Weiss
>Priority: Major
>  Labels: bridge, jms
>
> When a JMS bridge is stopped and then restarted, during a short period the 
> source might quickly try to retransmit a rolled back message outside the 
> transaction, leading to a duplicate message on the target.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2170) Optimized CoreMessage's checkProperties and cleanupInternalProperties methods

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686843#comment-16686843
 ] 

ASF GitHub Bot commented on ARTEMIS-2170:
-

Github user franz1981 commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2427#discussion_r233526079
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java
 ---
@@ -52,6 +52,62 @@
  *  consumers */
 public class CoreMessage extends RefCountMessage implements ICoreMessage {
 
+   private static final class CoreTypedProperties extends TypedProperties {
+
+  // We use properties to establish routing context on clustering.
+  // However if the client resends the message after receiving, it 
needs to be removed
+  private static final Predicate 
INTERNAL_PROPERTY_NAMES_CLEANUP_FILTER =
+ name -> (name.startsWith(Message.HDR_ROUTE_TO_IDS) && 
!name.equals(Message.HDR_ROUTE_TO_IDS)) ||
+(name.startsWith(Message.HDR_ROUTE_TO_ACK_IDS) && 
!name.equals(Message.HDR_ROUTE_TO_ACK_IDS));
+  private static final SimpleString AMQ_PROPNAME = new 
SimpleString("_AMQ_");
+  private boolean internalProperties;
+
+  CoreTypedProperties() {
+ super();
+ internalProperties = false;
+  }
+
+  private CoreTypedProperties(TypedProperties other) {
+ super(other);
+ if (other instanceof CoreTypedProperties) {
+internalProperties = ((CoreTypedProperties) 
other).internalProperties;
+ } else {
+internalProperties = other.containsProperty(name -> 
name.startsWith(AMQ_PROPNAME));
+ }
+  }
+
+  @Override
+  protected synchronized void doPutValue(SimpleString key, 
TypedProperties.PropertyValue value) {
+ if (!internalProperties && key.startsWith(AMQ_PROPNAME)) {
+internalProperties = true;
+ }
+ super.doPutValue(key, value);
+  }
+
+  public synchronized boolean cleanupInternalProperties() {
+ if (!internalProperties) {
+return false;
+ }
+ return removeProperty(INTERNAL_PROPERTY_NAMES_CLEANUP_FILTER);
+  }
+
+  public static boolean cleanupInternalProperties(TypedProperties 
typedProperties) {
+ if (typedProperties == null) {
+return false;
+ }
+ if (typedProperties instanceof CoreTypedProperties) {
+return ((CoreTypedProperties) 
typedProperties).cleanupInternalProperties();
+ }
+ return 
typedProperties.removeProperty(INTERNAL_PROPERTY_NAMES_CLEANUP_FILTER);
+  }
+
+  public static CoreTypedProperties copyOf(TypedProperties 
typedProperties) {
+ synchronized (typedProperties) {
--- End diff --

You can't put a synchronized before the call to `super(other)`, that's why 
I have used a factory: if I will drop `CoreTypedProperties` all of this will 
disappear right?


> Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
> -
>
> Key: ARTEMIS-2170
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2170
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Minor
>
> CoreMessage::checkProperties perform too many volatile read/write and has a 
> too big body just to handle exceptional cases, while 
> cleanupInternalProperties is called on the hot path of session send, but is 
> performing too many synchronized operations and loopup on TypedProperties.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2170) Optimized CoreMessage's checkProperties and cleanupInternalProperties methods

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686825#comment-16686825
 ] 

ASF GitHub Bot commented on ARTEMIS-2170:
-

Github user franz1981 commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2427#discussion_r233520960
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java
 ---
@@ -52,6 +52,62 @@
  *  consumers */
 public class CoreMessage extends RefCountMessage implements ICoreMessage {
 
+   private static final class CoreTypedProperties extends TypedProperties {
+
+  // We use properties to establish routing context on clustering.
+  // However if the client resends the message after receiving, it 
needs to be removed
+  private static final Predicate 
INTERNAL_PROPERTY_NAMES_CLEANUP_FILTER =
+ name -> (name.startsWith(Message.HDR_ROUTE_TO_IDS) && 
!name.equals(Message.HDR_ROUTE_TO_IDS)) ||
+(name.startsWith(Message.HDR_ROUTE_TO_ACK_IDS) && 
!name.equals(Message.HDR_ROUTE_TO_ACK_IDS));
+  private static final SimpleString AMQ_PROPNAME = new 
SimpleString("_AMQ_");
+  private boolean internalProperties;
+
+  CoreTypedProperties() {
+ super();
+ internalProperties = false;
+  }
+
+  private CoreTypedProperties(TypedProperties other) {
+ super(other);
+ if (other instanceof CoreTypedProperties) {
+internalProperties = ((CoreTypedProperties) 
other).internalProperties;
--- End diff --

I have used a static factory on this same class to do it :)


> Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
> -
>
> Key: ARTEMIS-2170
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2170
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Minor
>
> CoreMessage::checkProperties perform too many volatile read/write and has a 
> too big body just to handle exceptional cases, while 
> cleanupInternalProperties is called on the hot path of session send, but is 
> performing too many synchronized operations and loopup on TypedProperties.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2170) Optimized CoreMessage's checkProperties and cleanupInternalProperties methods

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686813#comment-16686813
 ] 

ASF GitHub Bot commented on ARTEMIS-2170:
-

Github user michaelandrepearce commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2427#discussion_r233518660
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java
 ---
@@ -52,6 +52,62 @@
  *  consumers */
 public class CoreMessage extends RefCountMessage implements ICoreMessage {
 
+   private static final class CoreTypedProperties extends TypedProperties {
+
+  // We use properties to establish routing context on clustering.
+  // However if the client resends the message after receiving, it 
needs to be removed
+  private static final Predicate 
INTERNAL_PROPERTY_NAMES_CLEANUP_FILTER =
+ name -> (name.startsWith(Message.HDR_ROUTE_TO_IDS) && 
!name.equals(Message.HDR_ROUTE_TO_IDS)) ||
+(name.startsWith(Message.HDR_ROUTE_TO_ACK_IDS) && 
!name.equals(Message.HDR_ROUTE_TO_ACK_IDS));
+  private static final SimpleString AMQ_PROPNAME = new 
SimpleString("_AMQ_");
+  private boolean internalProperties;
+
+  CoreTypedProperties() {
+ super();
+ internalProperties = false;
+  }
+
+  private CoreTypedProperties(TypedProperties other) {
+ super(other);
+ if (other instanceof CoreTypedProperties) {
+internalProperties = ((CoreTypedProperties) 
other).internalProperties;
+ } else {
+internalProperties = other.containsProperty(name -> 
name.startsWith(AMQ_PROPNAME));
+ }
+  }
+
+  @Override
+  protected synchronized void doPutValue(SimpleString key, 
TypedProperties.PropertyValue value) {
+ if (!internalProperties && key.startsWith(AMQ_PROPNAME)) {
+internalProperties = true;
+ }
+ super.doPutValue(key, value);
+  }
+
+  public synchronized boolean cleanupInternalProperties() {
+ if (!internalProperties) {
+return false;
+ }
+ return removeProperty(INTERNAL_PROPERTY_NAMES_CLEANUP_FILTER);
+  }
+
+  public static boolean cleanupInternalProperties(TypedProperties 
typedProperties) {
+ if (typedProperties == null) {
+return false;
+ }
+ if (typedProperties instanceof CoreTypedProperties) {
+return ((CoreTypedProperties) 
typedProperties).cleanupInternalProperties();
+ }
+ return 
typedProperties.removeProperty(INTERNAL_PROPERTY_NAMES_CLEANUP_FILTER);
+  }
+
+  public static CoreTypedProperties copyOf(TypedProperties 
typedProperties) {
+ synchronized (typedProperties) {
--- End diff --

this shouldnt be needed, as the constructor of CoreTypedProperties that 
takes TypedProperties should really be the thing that ensure syncronicitity


> Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
> -
>
> Key: ARTEMIS-2170
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2170
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Minor
>
> CoreMessage::checkProperties perform too many volatile read/write and has a 
> too big body just to handle exceptional cases, while 
> cleanupInternalProperties is called on the hot path of session send, but is 
> performing too many synchronized operations and loopup on TypedProperties.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2170) Optimized CoreMessage's checkProperties and cleanupInternalProperties methods

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686822#comment-16686822
 ] 

ASF GitHub Bot commented on ARTEMIS-2170:
-

Github user michaelandrepearce commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2427#discussion_r233520221
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java
 ---
@@ -52,6 +52,62 @@
  *  consumers */
 public class CoreMessage extends RefCountMessage implements ICoreMessage {
 
+   private static final class CoreTypedProperties extends TypedProperties {
+
+  // We use properties to establish routing context on clustering.
+  // However if the client resends the message after receiving, it 
needs to be removed
+  private static final Predicate 
INTERNAL_PROPERTY_NAMES_CLEANUP_FILTER =
+ name -> (name.startsWith(Message.HDR_ROUTE_TO_IDS) && 
!name.equals(Message.HDR_ROUTE_TO_IDS)) ||
+(name.startsWith(Message.HDR_ROUTE_TO_ACK_IDS) && 
!name.equals(Message.HDR_ROUTE_TO_ACK_IDS));
+  private static final SimpleString AMQ_PROPNAME = new 
SimpleString("_AMQ_");
+  private boolean internalProperties;
+
+  CoreTypedProperties() {
+ super();
+ internalProperties = false;
+  }
+
+  private CoreTypedProperties(TypedProperties other) {
+ super(other);
+ if (other instanceof CoreTypedProperties) {
+internalProperties = ((CoreTypedProperties) 
other).internalProperties;
--- End diff --

CoreTypedProperties is not sync safe due to direct access to  
((CoreTypedProperties) other).internalProperties;

Best solution is to create a private syncronized get method to access 
internalProperties from the other variable. This then means sync bloc in copyOf 
method is not needed and this constructor becomes sync safe.



> Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
> -
>
> Key: ARTEMIS-2170
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2170
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Minor
>
> CoreMessage::checkProperties perform too many volatile read/write and has a 
> too big body just to handle exceptional cases, while 
> cleanupInternalProperties is called on the hot path of session send, but is 
> performing too many synchronized operations and loopup on TypedProperties.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2176) RA connection properties are not propagated to XARecoveryConfig

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686815#comment-16686815
 ] 

ASF GitHub Bot commented on ARTEMIS-2176:
-

GitHub user spyrkob opened a pull request:

https://github.com/apache/activemq-artemis/pull/2432

[ARTEMIS-2176] RA connection properties are not propagated to XARecov…

…eryConfig

Possible fix and test for 
https://issues.apache.org/jira/browse/ARTEMIS-2176 

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/spyrkob/jboss-activemq-artemis ARTEMIS-2176

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/activemq-artemis/pull/2432.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 #2432


commit 96b3d87be7448626ad777ea3b32a185c0fb3b5f3
Author: Bartosz Spyrko-Smietanko 
Date:   2018-11-13T15:50:33Z

[ARTEMIS-2176] RA connection properties are not propagated to 
XARecoveryConfig




> RA connection properties are not propagated to XARecoveryConfig
> ---
>
> Key: ARTEMIS-2176
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2176
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Affects Versions: 2.6.3
>Reporter: Bartosz Spyrko-Smietanko
>Priority: Major
>
> XARecoveryConfig#createServerLocator uses only 
> TransportConfiguration/DiscoveryGroupConfiguration to create a new instance 
> of ServerLocator. That means that connection properties like connectionTTL or 
> callFailoverTime are ignored.  This can lead to network issues - eg. 
> [https://issues.jboss.org/browse/WFLY-10725] 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2170) Optimized CoreMessage's checkProperties and cleanupInternalProperties methods

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686793#comment-16686793
 ] 

ASF GitHub Bot commented on ARTEMIS-2170:
-

Github user michaelandrepearce commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2427#discussion_r233513734
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java
 ---
@@ -564,34 +604,59 @@ public CoreMessage setUserID(UUID userID) {
/**
 * I am keeping this synchronized as the decode of the Properties is 
lazy
 */
-   protected TypedProperties checkProperties() {
+   protected final TypedProperties checkProperties() {
   try {
+ TypedProperties properties = this.properties;
  if (properties == null) {
-synchronized (this) {
-   if (properties == null) {
-  TypedProperties properties = new TypedProperties();
-  if (buffer != null && propertiesLocation >= 0) {
- final ByteBuf byteBuf = 
buffer.duplicate().readerIndex(propertiesLocation);
- properties.decode(byteBuf, coreMessageObjectPools == 
null ? null : coreMessageObjectPools.getPropertiesDecoderPools());
-  }
-  this.properties = properties;
-   }
+properties = getOrInitializeTypedProperties();
+ }
+ return properties;
+  } catch (Throwable e) {
+ throw onCheckPropertiesError(e);
--- End diff --

this MUST throw the original exception if such exception, to keep exception 
behaviour of any code upstream that maybe catching specific exceptions..


> Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
> -
>
> Key: ARTEMIS-2170
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2170
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Minor
>
> CoreMessage::checkProperties perform too many volatile read/write and has a 
> too big body just to handle exceptional cases, while 
> cleanupInternalProperties is called on the hot path of session send, but is 
> performing too many synchronized operations and loopup on TypedProperties.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2170) Optimized CoreMessage's checkProperties and cleanupInternalProperties methods

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686809#comment-16686809
 ] 

ASF GitHub Bot commented on ARTEMIS-2170:
-

Github user michaelandrepearce commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2427#discussion_r233517904
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java
 ---
@@ -52,6 +52,62 @@
  *  consumers */
 public class CoreMessage extends RefCountMessage implements ICoreMessage {
 
+   private static final class CoreTypedProperties extends TypedProperties {
+
+  // We use properties to establish routing context on clustering.
+  // However if the client resends the message after receiving, it 
needs to be removed
+  private static final Predicate 
INTERNAL_PROPERTY_NAMES_CLEANUP_FILTER =
+ name -> (name.startsWith(Message.HDR_ROUTE_TO_IDS) && 
!name.equals(Message.HDR_ROUTE_TO_IDS)) ||
+(name.startsWith(Message.HDR_ROUTE_TO_ACK_IDS) && 
!name.equals(Message.HDR_ROUTE_TO_ACK_IDS));
+  private static final SimpleString AMQ_PROPNAME = new 
SimpleString("_AMQ_");
+  private boolean internalProperties;
+
+  CoreTypedProperties() {
+ super();
+ internalProperties = false;
+  }
+
+  private CoreTypedProperties(TypedProperties other) {
+ super(other);
+ if (other instanceof CoreTypedProperties) {
--- End diff --

synchronize on other.


> Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
> -
>
> Key: ARTEMIS-2170
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2170
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Minor
>
> CoreMessage::checkProperties perform too many volatile read/write and has a 
> too big body just to handle exceptional cases, while 
> cleanupInternalProperties is called on the hot path of session send, but is 
> performing too many synchronized operations and loopup on TypedProperties.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2104) Implement tests for Import/Export (replay) of messages

2018-11-14 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686802#comment-16686802
 ] 

ASF subversion and git services commented on ARTEMIS-2104:
--

Commit 26df390fbc46b45689169951caae7ea0735883a9 in activemq-artemis's branch 
refs/heads/2.6.x from feuillemorte
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=26df390 ]

ARTEMIS-2104 Added tests in artemis-cli//MessageSerializerTest

Added new cases:
- export from anycast queue, then import to multicast topic where number of 
queues > 1
- export from anycast queue, then import to multicast fqqn where number of 
queues > 1
- export from multicast topic, then import to anycast queue (both address)
- export from anycast queue, then import to multicast topic (both address)

(cherry picked from commit be9676c0d397384bd2ab647311fcd19729cb080a)


> Implement tests for Import/Export (replay) of messages
> --
>
> Key: ARTEMIS-2104
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2104
> Project: ActiveMQ Artemis
>  Issue Type: Test
>  Components: Broker
>Reporter: Oleg Sushchenko
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2108) Potential StackOverflowError when load balancing disabled

2018-11-14 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2108?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686800#comment-16686800
 ] 

ASF subversion and git services commented on ARTEMIS-2108:
--

Commit 773721f7b028754c39e441aa9372dc614f31ce47 in activemq-artemis's branch 
refs/heads/2.6.x from Justin Bertram
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=773721f ]

ARTEMIS-2108 fix another potential StackOverflow

(cherry picked from commit f4396da9fd9f7ecc7d9c0b02118d1eb1b76af523)


> Potential StackOverflowError when load balancing disabled
> -
>
> Key: ARTEMIS-2108
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2108
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Justin Bertram
>Assignee: Justin Bertram
>Priority: Major
> Fix For: 2.7.0, 2.6.4
>
>
> It's possible that when a cluster has disabled message load balancing then a 
> message sent to a node that only has a corresponding remote queue binding 
> will trigger a stack overflow.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-1825) Live-backup topology not correctly displayed on console

2018-11-14 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-1825?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686797#comment-16686797
 ] 

ASF subversion and git services commented on ARTEMIS-1825:
--

Commit 59300713a7e994c05d72cc4e5c03fdacc8b5a50c in activemq-artemis's branch 
refs/heads/2.6.x from [~gaohoward]
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=5930071 ]

ARTEMIS-1825 Live-backup topology not correctly displayed on console

(cherry picked from commit ae320c14a5db988f410242e44b9d6e5438c7914c)


> Live-backup topology not correctly displayed on console
> ---
>
> Key: ARTEMIS-1825
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1825
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Web Console
>Affects Versions: 2.5.0
>Reporter: Howard Gao
>Assignee: Howard Gao
>Priority: Major
> Fix For: 2.7.0
>
>
> The backup's web console doesn't correctly shows the topology diagram of 
> live-backup pair. It points to itself.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2127) Add auth details to consumer created notification

2018-11-14 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2127?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686790#comment-16686790
 ] 

ASF subversion and git services commented on ARTEMIS-2127:
--

Commit 3105d01bb358779bf8a43e5120099a9a90ee145b in activemq-artemis's branch 
refs/heads/2.6.x from [~jbertram]
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=3105d01 ]

ARTEMIS-2127 Add auth details to consumer created notification

(cherry picked from commit c2188aa058a2f6aae65ca2247c14c7b968faaf56)


> Add auth details to consumer created notification
> -
>
> Key: ARTEMIS-2127
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2127
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>Reporter: Justin Bertram
>Assignee: Justin Bertram
>Priority: Minor
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2170) Optimized CoreMessage's checkProperties and cleanupInternalProperties methods

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686787#comment-16686787
 ] 

ASF GitHub Bot commented on ARTEMIS-2170:
-

Github user michaelandrepearce commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2427#discussion_r233513078
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java
 ---
@@ -564,34 +604,59 @@ public CoreMessage setUserID(UUID userID) {
/**
 * I am keeping this synchronized as the decode of the Properties is 
lazy
 */
-   protected TypedProperties checkProperties() {
+   protected final TypedProperties checkProperties() {
   try {
+ TypedProperties properties = this.properties;
  if (properties == null) {
-synchronized (this) {
-   if (properties == null) {
-  TypedProperties properties = new TypedProperties();
-  if (buffer != null && propertiesLocation >= 0) {
- final ByteBuf byteBuf = 
buffer.duplicate().readerIndex(propertiesLocation);
- properties.decode(byteBuf, coreMessageObjectPools == 
null ? null : coreMessageObjectPools.getPropertiesDecoderPools());
-  }
-  this.properties = properties;
-   }
+properties = getOrInitializeTypedProperties();
+ }
+ return properties;
+  } catch (Throwable e) {
+ throw onCheckPropertiesError(e);
+  }
+   }
+
+   private TypedProperties getOrInitializeTypedProperties() {
+  synchronized (this) {
+ TypedProperties properties = this.properties;
+ if (properties == null) {
+properties = createTypedProperties();
+if (buffer != null && propertiesLocation >= 0) {
+   final ByteBuf byteBuf = 
buffer.duplicate().readerIndex(propertiesLocation);
+   properties.decode(byteBuf, coreMessageObjectPools == null ? 
null : coreMessageObjectPools.getPropertiesDecoderPools());
 }
+this.properties = properties;
  }
+ return properties;
+  }
+   }
 
- return this.properties;
-  } catch (Throwable e) {
- ByteBuf duplicatebuffer = buffer.duplicate();
- duplicatebuffer.readerIndex(0);
+   private RuntimeException onCheckPropertiesError(Throwable e) {
+  ByteBuf duplicatebuffer = buffer.duplicate();
+  duplicatebuffer.readerIndex(0);
 
- // This is not an expected error, hence no specific logger created
- logger.warn("Could not decode properties for 
CoreMessage[messageID=" + messageID + ",durable=" + durable + ",userID=" + 
userID + ",priority=" + priority +
-", timestamp=" + timestamp + ",expiration=" + expiration + 
",address=" + address + ", propertiesLocation=" + propertiesLocation, e);
- logger.warn("Failed message has messageID=" + messageID + " and 
the following buffer:\n" + ByteBufUtil.prettyHexDump(duplicatebuffer));
+  // This is not an expected error, hence no specific logger created
+  logger.warn("Could not decode properties for CoreMessage[messageID=" 
+ messageID + ",durable=" + durable + ",userID=" + userID + ",priority=" + 
priority +
+ ", timestamp=" + timestamp + ",expiration=" + 
expiration + ",address=" + address + ", propertiesLocation=" + 
propertiesLocation, e);
+  logger.warn("Failed message has messageID=" + messageID + " and the 
following buffer:\n" + ByteBufUtil.prettyHexDump(duplicatebuffer));
 
- throw new RuntimeException(e.getMessage(), e);
+  return new RuntimeException(e.getMessage(), e);
--- End diff --

This really should throw the original exception, dont wrap it into 
something else, incase other code was catching something explicit.


> Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
> -
>
> Key: ARTEMIS-2170
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2170
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Minor
>
> CoreMessage::checkProperties perform too many volatile read/write and has a 
> too big body just to handle exceptional cases, while 
> cleanupInternalProperties is called on the hot path of session send, but is 
> performing too many synchronized operations and loopup on TypedProperties.



--
This message was sent 

[jira] [Commented] (ARTEMIS-2170) Optimized CoreMessage's checkProperties and cleanupInternalProperties methods

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686782#comment-16686782
 ] 

ASF GitHub Bot commented on ARTEMIS-2170:
-

Github user michaelandrepearce commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2427#discussion_r233512044
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java
 ---
@@ -564,34 +604,59 @@ public CoreMessage setUserID(UUID userID) {
/**
 * I am keeping this synchronized as the decode of the Properties is 
lazy
 */
-   protected TypedProperties checkProperties() {
+   protected final TypedProperties checkProperties() {
   try {
+ TypedProperties properties = this.properties;
  if (properties == null) {
-synchronized (this) {
-   if (properties == null) {
-  TypedProperties properties = new TypedProperties();
-  if (buffer != null && propertiesLocation >= 0) {
- final ByteBuf byteBuf = 
buffer.duplicate().readerIndex(propertiesLocation);
- properties.decode(byteBuf, coreMessageObjectPools == 
null ? null : coreMessageObjectPools.getPropertiesDecoderPools());
-  }
-  this.properties = properties;
-   }
+properties = getOrInitializeTypedProperties();
+ }
+ return properties;
+  } catch (Throwable e) {
+ throw onCheckPropertiesError(e);
+  }
+   }
+
+   private TypedProperties getOrInitializeTypedProperties() {
--- End diff --

i would rename "checkProperties" to "getProperties", and i would call this 
initalizeTypedProperties without the return.


> Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
> -
>
> Key: ARTEMIS-2170
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2170
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Minor
>
> CoreMessage::checkProperties perform too many volatile read/write and has a 
> too big body just to handle exceptional cases, while 
> cleanupInternalProperties is called on the hot path of session send, but is 
> performing too many synchronized operations and loopup on TypedProperties.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-1850) QueueControl.listDeliveringMessages returns empty result

2018-11-14 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-1850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686756#comment-16686756
 ] 

ASF subversion and git services commented on ARTEMIS-1850:
--

Commit dea166ab83287ed15dba799aa9ed5effac75d416 in activemq-artemis's branch 
refs/heads/2.6.x from [~gaohoward]
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=dea166a ]

ARTEMIS-1850 QueueControl.listDeliveringMessages returns empty result

With AMQP protocol when some messages are received in a transaction,
calling JMX QueueControl.listDeliveringMessages() returns empty list
before the transaction is committed.

(cherry picked from commit 72eadb201d870b097c8659497823f27bf2401d6f)


> QueueControl.listDeliveringMessages returns empty result
> 
>
> Key: ARTEMIS-1850
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1850
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP
>Affects Versions: 2.5.0
>Reporter: Howard Gao
>Assignee: Howard Gao
>Priority: Major
> Fix For: 2.6.4
>
>
> With AMQP protocol when some messages are received in a transaction, calling 
> JMX QueueControl.listDeliveringMessages() returns empty list before the 
> transaction is committed.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Created] (ARTEMIS-2176) RA connection properties are not propagated to XARecoveryConfig

2018-11-14 Thread Bartosz Spyrko-Smietanko (JIRA)
Bartosz Spyrko-Smietanko created ARTEMIS-2176:
-

 Summary: RA connection properties are not propagated to 
XARecoveryConfig
 Key: ARTEMIS-2176
 URL: https://issues.apache.org/jira/browse/ARTEMIS-2176
 Project: ActiveMQ Artemis
  Issue Type: Bug
Affects Versions: 2.6.3
Reporter: Bartosz Spyrko-Smietanko


XARecoveryConfig#createServerLocator uses only 
TransportConfiguration/DiscoveryGroupConfiguration to create a new instance of 
ServerLocator. That means that connection properties like connectionTTL or 
callFailoverTime are ignored.  This can lead to network issues - eg. 
[https://issues.jboss.org/browse/WFLY-10725] 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2125) Queue preference changes to display columns not persistent through page refresh

2018-11-14 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2125?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686770#comment-16686770
 ] 

ASF subversion and git services commented on ARTEMIS-2125:
--

Commit 48b090afd7032c6a3bb3096a35849b2160a7be36 in activemq-artemis's branch 
refs/heads/2.6.x from feuillemorte
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=48b090a ]

ARTEMIS-2125 Tabs preference changes to display columns not persistent through 
page refresh

(cherry picked from commit a65e711fbcca19d7da043ac1f7151722ca99190f)


> Queue preference changes to display columns not persistent through page 
> refresh
> ---
>
> Key: ARTEMIS-2125
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2125
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Web Console
>Affects Versions: 2.6.3
>Reporter: Tadayoshi Sato
>Assignee: Francesco Nigro
>Priority: Major
>
> When using the Hawtio web console, we change the default column list in 
> Queues using the arrow in the top right-hand corner. The change in which 
> columns to display does not persist when the page is refreshed, nor does it 
> persist if the page is added to a Dashboard.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2175) Duplicate messages when JMS bridge is stopped and restarted

2018-11-14 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686747#comment-16686747
 ] 

ASF subversion and git services commented on ARTEMIS-2175:
--

Commit ff5f1213bbf3fd2cfd9419ce44a4baf77ed9597f in activemq-artemis's branch 
refs/heads/master from [~iweiss]
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=ff5f121 ]

[ARTEMIS-2175] Duplicate messages when JMS bridge is stopped and restarted

Issue: https://issues.apache.org/jira/browse/ARTEMIS-2175


> Duplicate messages when JMS bridge is stopped and restarted
> ---
>
> Key: ARTEMIS-2175
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2175
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Broker
>Affects Versions: 2.7.0
>Reporter: Ingo Weiss
>Priority: Major
>  Labels: bridge, jms
>
> When a JMS bridge is stopped and then restarted, during a short period the 
> source might quickly try to retransmit a rolled back message outside the 
> transaction, leading to a duplicate message on the target.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-1710) Allow for management messages to exceed global-max-size limit

2018-11-14 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-1710?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686767#comment-16686767
 ] 

ASF subversion and git services commented on ARTEMIS-1710:
--

Commit f79ab66d0ddd178167b2b0adf00d53ba1602756b in activemq-artemis's branch 
refs/heads/2.6.x from [~nigro@gmail.com]
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=f79ab66 ]

ARTEMIS-1710 Allow for management msgs to exceed global-max-size limit

Added docs to explain the behaviour of management addresses on paging

(cherry picked from commit 075a4024dfab01469bfec6eacc3b55501b0e0080)


> Allow for management messages to exceed global-max-size limit
> -
>
> Key: ARTEMIS-1710
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1710
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>Reporter: Ulf Lilleengen
>Assignee: Francesco Nigro
>Priority: Major
>
> Use case: global-max-size is set to some limit to prevent the broker from 
> falling over. The broker is configured with N queues which are all blocked by 
> this limit.
> If this limit is reached, however, it is not possible to perform management 
> operations on the broker, so you're stuck.
>  
> It should be possible to have an address like 'activemq.management' bypass 
> this limit so that a broker can be recovered when the global-max-size is 
> reached.
>  
> To work around the problem, an external component needs to ensure that all 
> addresses created have a max-size-bytes set so that worst case, there is some 
> room left for 'activemq.management' address. In this case the broker 
> configuration needs to be known by the component creating addresses which is 
> impractical and it feels like this problem would be easier to solve inside 
> the broker.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2140) AMQP Shared Subscriptions fail because of RaceCondition

2018-11-14 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686751#comment-16686751
 ] 

ASF subversion and git services commented on ARTEMIS-2140:
--

Commit e81453e6608ce70436576f1ed54b1f62d30ddc2e in activemq-artemis's branch 
refs/heads/master from [~jbertram]
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=e81453e ]

ARTEMIS-2140 queue creation race w/AMQP shared subs


> AMQP Shared Subscriptions fail because of RaceCondition
> ---
>
> Key: ARTEMIS-2140
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2140
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP, Broker
>Affects Versions: 2.6.3
>Reporter: Johan Stenberg
>Assignee: Justin Bertram
>Priority: Major
> Fix For: 2.7.0, 2.6.4
>
> Attachments: Artemis2140_AmqpSharedConsumerRaceConditionTest.java
>
>
> When multiple clients concurrently try to subscribe to the same shared 
> subscription the following exception occurs:
> {noformat}
> Okt 19, 2018 4:25:21 PM 
> org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler 
> dispatch
> WARN: AMQ119018: Binding already exists LocalQueueBinding 
> [address=topics.cat, queue=QueueImpl[name=nonDurable.MY_SUB, 
> postOffice=PostOfficeImpl 
> [server=ActiveMQServerImpl::serverUUID=cf020fcf-d3aa-11e8-ac61-54524514640f], 
> temp=false]@6425eba3, filter=null, name=nonDurable.MY_SUB, 
> clusterName=nonDurable.MY_SUBcf020fcf-d3aa-11e8-ac61-54524514640f]
> ActiveMQQueueExistsException[errorType=QUEUE_EXISTS message=AMQ119018: 
> Binding already exists LocalQueueBinding [address=topics.cat, 
> queue=QueueImpl[name=nonDurable.MY_SUB, postOffice=PostOfficeImpl 
> [server=ActiveMQServerImpl::serverUUID=cf020fcf-d3aa-11e8-ac61-54524514640f], 
> temp=false]@6425eba3, filter=null, name=nonDurable.MY_SUB, 
> clusterName=nonDurable.MY_SUBcf020fcf-d3aa-11e8-ac61-54524514640f]]
>   at 
> org.apache.activemq.artemis.core.postoffice.impl.SimpleAddressManager.addBinding(SimpleAddressManager.java:85)
>   at 
> org.apache.activemq.artemis.core.postoffice.impl.WildcardAddressManager.addBinding(WildcardAddressManager.java:90)
>   at 
> org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.addBinding(PostOfficeImpl.java:615)
>   at 
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.createQueue(ActiveMQServerImpl.java:2818)
>   at 
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.createQueue(ActiveMQServerImpl.java:1690)
>   at 
> org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.createQueue(ServerSessionImpl.java:594)
>   at 
> org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.createQueue(ServerSessionImpl.java:634)
>   at 
> org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback.createSharedVolatileQueue(AMQPSessionCallback.java:283)
>   at 
> org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext.initialise(ProtonServerSenderContext.java:374)
>   at 
> org.apache.activemq.artemis.protocol.amqp.proton.AMQPSessionContext.addSender(AMQPSessionContext.java:168)
>   at 
> org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.remoteLinkOpened(AMQPConnectionContext.java:243)
>   at 
> org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.onRemoteOpen(AMQPConnectionContext.java:462)
>   at 
> org.apache.activemq.artemis.protocol.amqp.proton.handler.Events.dispatch(Events.java:68)
>   at 
> org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.dispatch(ProtonHandler.java:494)
>   at 
> org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.flush(ProtonHandler.java:307)
>   at 
> org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.inputBuffer(ProtonHandler.java:272)
>   at 
> org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.inputBuffer(AMQPConnectionContext.java:158)
>   at 
> org.apache.activemq.artemis.protocol.amqp.broker.ActiveMQProtonRemotingConnection.bufferReceived(ActiveMQProtonRemotingConnection.java:147)
>   at 
> org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:643)
>   at 
> org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:73)
>   at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
>   at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
>   at 
> 

[jira] [Commented] (ARTEMIS-2140) AMQP Shared Subscriptions fail because of RaceCondition

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2140?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686752#comment-16686752
 ] 

ASF GitHub Bot commented on ARTEMIS-2140:
-

Github user asfgit closed the pull request at:

https://github.com/apache/activemq-artemis/pull/2426


> AMQP Shared Subscriptions fail because of RaceCondition
> ---
>
> Key: ARTEMIS-2140
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2140
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: AMQP, Broker
>Affects Versions: 2.6.3
>Reporter: Johan Stenberg
>Assignee: Justin Bertram
>Priority: Major
> Fix For: 2.7.0, 2.6.4
>
> Attachments: Artemis2140_AmqpSharedConsumerRaceConditionTest.java
>
>
> When multiple clients concurrently try to subscribe to the same shared 
> subscription the following exception occurs:
> {noformat}
> Okt 19, 2018 4:25:21 PM 
> org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler 
> dispatch
> WARN: AMQ119018: Binding already exists LocalQueueBinding 
> [address=topics.cat, queue=QueueImpl[name=nonDurable.MY_SUB, 
> postOffice=PostOfficeImpl 
> [server=ActiveMQServerImpl::serverUUID=cf020fcf-d3aa-11e8-ac61-54524514640f], 
> temp=false]@6425eba3, filter=null, name=nonDurable.MY_SUB, 
> clusterName=nonDurable.MY_SUBcf020fcf-d3aa-11e8-ac61-54524514640f]
> ActiveMQQueueExistsException[errorType=QUEUE_EXISTS message=AMQ119018: 
> Binding already exists LocalQueueBinding [address=topics.cat, 
> queue=QueueImpl[name=nonDurable.MY_SUB, postOffice=PostOfficeImpl 
> [server=ActiveMQServerImpl::serverUUID=cf020fcf-d3aa-11e8-ac61-54524514640f], 
> temp=false]@6425eba3, filter=null, name=nonDurable.MY_SUB, 
> clusterName=nonDurable.MY_SUBcf020fcf-d3aa-11e8-ac61-54524514640f]]
>   at 
> org.apache.activemq.artemis.core.postoffice.impl.SimpleAddressManager.addBinding(SimpleAddressManager.java:85)
>   at 
> org.apache.activemq.artemis.core.postoffice.impl.WildcardAddressManager.addBinding(WildcardAddressManager.java:90)
>   at 
> org.apache.activemq.artemis.core.postoffice.impl.PostOfficeImpl.addBinding(PostOfficeImpl.java:615)
>   at 
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.createQueue(ActiveMQServerImpl.java:2818)
>   at 
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.createQueue(ActiveMQServerImpl.java:1690)
>   at 
> org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.createQueue(ServerSessionImpl.java:594)
>   at 
> org.apache.activemq.artemis.core.server.impl.ServerSessionImpl.createQueue(ServerSessionImpl.java:634)
>   at 
> org.apache.activemq.artemis.protocol.amqp.broker.AMQPSessionCallback.createSharedVolatileQueue(AMQPSessionCallback.java:283)
>   at 
> org.apache.activemq.artemis.protocol.amqp.proton.ProtonServerSenderContext.initialise(ProtonServerSenderContext.java:374)
>   at 
> org.apache.activemq.artemis.protocol.amqp.proton.AMQPSessionContext.addSender(AMQPSessionContext.java:168)
>   at 
> org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.remoteLinkOpened(AMQPConnectionContext.java:243)
>   at 
> org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.onRemoteOpen(AMQPConnectionContext.java:462)
>   at 
> org.apache.activemq.artemis.protocol.amqp.proton.handler.Events.dispatch(Events.java:68)
>   at 
> org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.dispatch(ProtonHandler.java:494)
>   at 
> org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.flush(ProtonHandler.java:307)
>   at 
> org.apache.activemq.artemis.protocol.amqp.proton.handler.ProtonHandler.inputBuffer(ProtonHandler.java:272)
>   at 
> org.apache.activemq.artemis.protocol.amqp.proton.AMQPConnectionContext.inputBuffer(AMQPConnectionContext.java:158)
>   at 
> org.apache.activemq.artemis.protocol.amqp.broker.ActiveMQProtonRemotingConnection.bufferReceived(ActiveMQProtonRemotingConnection.java:147)
>   at 
> org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl$DelegatingBufferHandler.bufferReceived(RemotingServiceImpl.java:643)
>   at 
> org.apache.activemq.artemis.core.remoting.impl.netty.ActiveMQChannelHandler.channelRead(ActiveMQChannelHandler.java:73)
>   at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
>   at 
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
>   at 
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
>   at 
> io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434)
>   at 
> 

[jira] [Commented] (ARTEMIS-2175) Duplicate messages when JMS bridge is stopped and restarted

2018-11-14 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686748#comment-16686748
 ] 

ASF subversion and git services commented on ARTEMIS-2175:
--

Commit ff5f1213bbf3fd2cfd9419ce44a4baf77ed9597f in activemq-artemis's branch 
refs/heads/master from [~iweiss]
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=ff5f121 ]

[ARTEMIS-2175] Duplicate messages when JMS bridge is stopped and restarted

Issue: https://issues.apache.org/jira/browse/ARTEMIS-2175


> Duplicate messages when JMS bridge is stopped and restarted
> ---
>
> Key: ARTEMIS-2175
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2175
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Broker
>Affects Versions: 2.7.0
>Reporter: Ingo Weiss
>Priority: Major
>  Labels: bridge, jms
>
> When a JMS bridge is stopped and then restarted, during a short period the 
> source might quickly try to retransmit a rolled back message outside the 
> transaction, leading to a duplicate message on the target.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2142) Support JMSXGroupSeq -1 to close/reset Groups

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686750#comment-16686750
 ] 

ASF GitHub Bot commented on ARTEMIS-2142:
-

Github user michaelandrepearce commented on the issue:

https://github.com/apache/activemq-artemis/pull/2424
  
@clebertsuconic this is the patch fix that can easily goto 2.6.x branch or 
any HF branches people may keep them selves.


> Support JMSXGroupSeq -1 to close/reset Groups
> -
>
> Key: ARTEMIS-2142
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2142
> Project: ActiveMQ Artemis
>  Issue Type: Sub-task
>Reporter: Michael Andre Pearce
>Assignee: Michael Andre Pearce
>Priority: Major
>
> Support Closing groups as per ActiveMQ 5 , 
> [http://activemq.apache.org/message-groups.html] using -1 on groupsequence to 
> as the signal



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (AMQ-7080) Keep track of free pages - Update db.free file during checkpoints

2018-11-14 Thread Christopher L. Shannon (JIRA)


 [ 
https://issues.apache.org/jira/browse/AMQ-7080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christopher L. Shannon updated AMQ-7080:

Fix Version/s: (was: 5.15.8)

> Keep track of free pages - Update db.free file during checkpoints
> -
>
> Key: AMQ-7080
> URL: https://issues.apache.org/jira/browse/AMQ-7080
> Project: ActiveMQ
>  Issue Type: Improvement
>  Components: KahaDB
>Affects Versions: 5.15.6
>Reporter: Alan Protasio
>Assignee: Jean-Baptiste Onofré
>Priority: Major
> Fix For: 5.16.0
>
> Attachments: AMQ-7080-freeList-update.diff
>
>
> In a event of an unclean shutdown, Activemq loses the information about the 
> free pages in the index. In order to recover this information, ActiveMQ read 
> the whole index during shutdown searching for free pages and then save the 
> db.free file. This operation can take a long time, making the failover 
> slower. (during the shutdown, activemq will still hold the lock).
> From http://activemq.apache.org/shared-file-system-master-slave.html
> {quote}"If you have a SAN or shared file system it can be used to provide 
> high availability such that if a broker is killed, another broker can take 
> over immediately."
> {quote}
> Is important to note if the shutdown takes more than ACTIVEMQ_KILL_MAXSECONDS 
> seconds, any following shutdown will be unclean. This broker will stay in 
> this state unless the index is deleted (this state means that every failover 
> will take more then ACTIVEMQ_KILL_MAXSECONDS, so, if you increase this time 
> to 5 minutes, you fail over can take more than 5 minutes).
>  
> In order to prevent ActiveMQ reading the whole index file to search for free 
> pages, we can keep track of those on every Checkpoint. In order to do that we 
> need to be sure that db.data and db.free are in sync. To achieve that we can 
> have a attribute in the db.free page that is referenced by the db.data.
> So during the checkpoint we have:
> 1 - Save db.free and give a freePageUniqueId
> 2 - Save this freePageUniqueId in the db.data (metadata)
> In a crash, we can see if the db.data has the same freePageUniqueId as the 
> db.free. If this is the case we can safely use the free page information 
> contained in the db.free
> Now, the only way to read the whole index file again is IF the crash happens 
> btw step 1 and 2 (what is very unlikely).
> The drawback of this implementation is that we will have to save db.free 
> during the checkpoint, what can possibly increase the checkpoint time.
> Is also important to note that we CAN (and should) have stale data in db.free 
> as it is referencing stale db.data:
> Imagine the timeline:
> T0 -> P1, P2 and P3 are free.
> T1 -> Checkpoint
> T2 -> P1 got occupied.
> T3 -> Crash
> In the current scenario after the  Pagefile#load the P1 will be free and then 
> the replay will mark P1 as occupied or will occupied another page (now that 
> the recovery of free pages is done on shutdown)
> This change only make sure that db.data and db.free are in sync and showing 
> the reality in T1 (checkpoint), If they are in sync we can trust the db.free.
> This is a really fast draft of what i'm suggesting... If you guys agree, i 
> can create the proper patch after:
> [https://github.com/alanprot/activemq/commit/18036ef7214ef0eaa25c8650f40644dd8b4632a5]
>  
> This is related to https://issues.apache.org/jira/browse/AMQ-6590



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2142) Support JMSXGroupSeq -1 to close/reset Groups

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686742#comment-16686742
 ] 

ASF GitHub Bot commented on ARTEMIS-2142:
-

Github user michaelandrepearce commented on the issue:

https://github.com/apache/activemq-artemis/pull/2425
  
The idea is https://github.com/apache/activemq-artemis/pull/2424 was the 
bare minimum fix path, so it would goto HF, or if you're maintaining some 
private fork ;) you'd use that, and this PR was a fuller refactor but stays in 
master. 


> Support JMSXGroupSeq -1 to close/reset Groups
> -
>
> Key: ARTEMIS-2142
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2142
> Project: ActiveMQ Artemis
>  Issue Type: Sub-task
>Reporter: Michael Andre Pearce
>Assignee: Michael Andre Pearce
>Priority: Major
>
> Support Closing groups as per ActiveMQ 5 , 
> [http://activemq.apache.org/message-groups.html] using -1 on groupsequence to 
> as the signal



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AMQ-7093) KahaDB index, recover free pages in parallel with start (Continued)

2018-11-14 Thread Christopher L. Shannon (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686711#comment-16686711
 ] 

Christopher L. Shannon commented on AMQ-7093:
-

[~alanprot] - Yep, we figured it out at the same time :)  I merged it in so I 
can continue with the release now

> KahaDB index, recover free pages in parallel with start (Continued)
> ---
>
> Key: AMQ-7093
> URL: https://issues.apache.org/jira/browse/AMQ-7093
> Project: ActiveMQ
>  Issue Type: Bug
>  Components: KahaDB
>Affects Versions: 5.15.7
>Reporter: Jeff Genender
>Priority: Major
> Fix For: 5.16.0, 5.15.8
>
>
> AMQ-7082 was implemented to create a concurrent thread to handle the free 
> page recovery.  It was included as a part of 5.15.7.  There was some 
> additional add-on coding that was not a part of that release which had 
> introduced some potential bugs.  This was made to track the additional 
> commits for this.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2170) Optimized CoreMessage's checkProperties and cleanupInternalProperties methods

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686714#comment-16686714
 ] 

ASF GitHub Bot commented on ARTEMIS-2170:
-

Github user michaelandrepearce commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2427#discussion_r233496401
  
--- Diff: 
artemis-commons/src/main/java/org/apache/activemq/artemis/utils/collections/TypedProperties.java
 ---
@@ -318,6 +320,33 @@ public synchronized boolean containsProperty(final 
SimpleString key) {
   }
}
 
+   public synchronized boolean 
cleanupInternalProperties(Predicate propertyNamePredicate) {
+  if (!internalProperties) {
--- End diff --

tbh id rather we do one refactor. so +1 for me.


> Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
> -
>
> Key: ARTEMIS-2170
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2170
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Minor
>
> CoreMessage::checkProperties perform too many volatile read/write and has a 
> too big body just to handle exceptional cases, while 
> cleanupInternalProperties is called on the hot path of session send, but is 
> performing too many synchronized operations and loopup on TypedProperties.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AMQ-7084) Kahadb pagefile, allocated and unused pages from read only transactions are leaked

2018-11-14 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686706#comment-16686706
 ] 

ASF subversion and git services commented on AMQ-7084:
--

Commit deb87353c41a4bef41346d27b8c7ad4c1ab21bef in activemq's branch 
refs/heads/activemq-5.15.x from gtully
[ https://git-wip-us.apache.org/repos/asf?p=activemq.git;h=deb8735 ]

AMQ-7084 - ensure allocated and unused free pages are visible to subsequent 
transactions, fix and test with test updates to reflect proper usage

(cherry picked from commit 8a1abd9bb2744de70af11053f1755116c40ec55f)


> Kahadb pagefile, allocated and unused pages from read only transactions are 
> leaked
> --
>
> Key: AMQ-7084
> URL: https://issues.apache.org/jira/browse/AMQ-7084
> Project: ActiveMQ
>  Issue Type: Bug
>  Components: KahaDB
>Affects Versions: 5.15.0
>Reporter: Gary Tully
>Assignee: Gary Tully
>Priority: Major
> Fix For: 5.16.0
>
>
> The work in AMQ-7080 to checkpoint the free list has identified a case where 
> the free list is not updated to reflect the disk state of an allocated free 
> page. This can lead to a free page leak in error. In practice this pattern of 
> usage is not widely used, but it is relevant when the free page list is being 
> tracked and failure can be arbitrary. It is important that an accurate 
> reflection of the current state is being checkpointed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2170) Optimized CoreMessage's checkProperties and cleanupInternalProperties methods

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686720#comment-16686720
 ] 

ASF GitHub Bot commented on ARTEMIS-2170:
-

Github user michaelandrepearce commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2427#discussion_r233497082
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java
 ---
@@ -52,6 +52,62 @@
  *  consumers */
 public class CoreMessage extends RefCountMessage implements ICoreMessage {
 
+   private static final class CoreTypedProperties extends TypedProperties {
--- End diff --

I think go for broke, if youre doing a refactor, just to it all :).


> Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
> -
>
> Key: ARTEMIS-2170
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2170
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Minor
>
> CoreMessage::checkProperties perform too many volatile read/write and has a 
> too big body just to handle exceptional cases, while 
> cleanupInternalProperties is called on the hot path of session send, but is 
> performing too many synchronized operations and loopup on TypedProperties.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2170) Optimized CoreMessage's checkProperties and cleanupInternalProperties methods

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686679#comment-16686679
 ] 

ASF GitHub Bot commented on ARTEMIS-2170:
-

Github user franz1981 commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2427#discussion_r233491522
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java
 ---
@@ -52,6 +52,62 @@
  *  consumers */
 public class CoreMessage extends RefCountMessage implements ICoreMessage {
 
+   private static final class CoreTypedProperties extends TypedProperties {
--- End diff --

I have maintained the original logic and consistency with this PR, but we 
can just cleaning them without checking their presence too making a lot more 
simpler everything 


> Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
> -
>
> Key: ARTEMIS-2170
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2170
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Minor
>
> CoreMessage::checkProperties perform too many volatile read/write and has a 
> too big body just to handle exceptional cases, while 
> cleanupInternalProperties is called on the hot path of session send, but is 
> performing too many synchronized operations and loopup on TypedProperties.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2170) Optimized CoreMessage's checkProperties and cleanupInternalProperties methods

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686712#comment-16686712
 ] 

ASF GitHub Bot commented on ARTEMIS-2170:
-

Github user michaelandrepearce commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2427#discussion_r233496010
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java
 ---
@@ -564,34 +604,59 @@ public CoreMessage setUserID(UUID userID) {
/**
 * I am keeping this synchronized as the decode of the Properties is 
lazy
 */
-   protected TypedProperties checkProperties() {
+   protected final TypedProperties checkProperties() {
   try {
+ TypedProperties properties = this.properties;
  if (properties == null) {
-synchronized (this) {
-   if (properties == null) {
-  TypedProperties properties = new TypedProperties();
-  if (buffer != null && propertiesLocation >= 0) {
- final ByteBuf byteBuf = 
buffer.duplicate().readerIndex(propertiesLocation);
- properties.decode(byteBuf, coreMessageObjectPools == 
null ? null : coreMessageObjectPools.getPropertiesDecoderPools());
-  }
-  this.properties = properties;
-   }
+properties = getOrInitializeTypedProperties();
+ }
+ return properties;
+  } catch (Throwable e) {
+ throw onCheckPropertiesError(e);
+  }
+   }
+
+   private TypedProperties getOrInitializeTypedProperties() {
+  synchronized (this) {
--- End diff --

if youre separating this to its own method, which is nice +1, theres an 
extra trick which is to change from sync block to sync method, which will be 
marginally faster.


> Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
> -
>
> Key: ARTEMIS-2170
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2170
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Minor
>
> CoreMessage::checkProperties perform too many volatile read/write and has a 
> too big body just to handle exceptional cases, while 
> cleanupInternalProperties is called on the hot path of session send, but is 
> performing too many synchronized operations and loopup on TypedProperties.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AMQ-7093) KahaDB index, recover free pages in parallel with start (Continued)

2018-11-14 Thread Christopher L. Shannon (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686709#comment-16686709
 ] 

Christopher L. Shannon commented on AMQ-7093:
-

Nevermind, I figured it out.  We were missing the commit for 
https://issues.apache.org/jira/browse/AMQ-7084

> KahaDB index, recover free pages in parallel with start (Continued)
> ---
>
> Key: AMQ-7093
> URL: https://issues.apache.org/jira/browse/AMQ-7093
> Project: ActiveMQ
>  Issue Type: Bug
>  Components: KahaDB
>Affects Versions: 5.15.7
>Reporter: Jeff Genender
>Priority: Major
> Fix For: 5.16.0, 5.15.8
>
>
> AMQ-7082 was implemented to create a concurrent thread to handle the free 
> page recovery.  It was included as a part of 5.15.7.  There was some 
> additional add-on coding that was not a part of that release which had 
> introduced some potential bugs.  This was made to track the additional 
> commits for this.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (AMQ-7084) Kahadb pagefile, allocated and unused pages from read only transactions are leaked

2018-11-14 Thread Christopher L. Shannon (JIRA)


 [ 
https://issues.apache.org/jira/browse/AMQ-7084?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christopher L. Shannon updated AMQ-7084:

Fix Version/s: 5.15.8

> Kahadb pagefile, allocated and unused pages from read only transactions are 
> leaked
> --
>
> Key: AMQ-7084
> URL: https://issues.apache.org/jira/browse/AMQ-7084
> Project: ActiveMQ
>  Issue Type: Bug
>  Components: KahaDB
>Affects Versions: 5.15.0
>Reporter: Gary Tully
>Assignee: Gary Tully
>Priority: Major
> Fix For: 5.16.0, 5.15.8
>
>
> The work in AMQ-7080 to checkpoint the free list has identified a case where 
> the free list is not updated to reflect the disk state of an allocated free 
> page. This can lead to a free page leak in error. In practice this pattern of 
> usage is not widely used, but it is relevant when the free page list is being 
> tracked and failure can be arbitrary. It is important that an accurate 
> reflection of the current state is being checkpointed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AMQ-7093) KahaDB index, recover free pages in parallel with start (Continued)

2018-11-14 Thread Alan Protasio (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686707#comment-16686707
 ] 

Alan Protasio commented on AMQ-7093:


[~cshannon]

 

Probably is this change:

https://github.com/apache/activemq/commit/8a1abd9bb2744de70af11053f1755116c40ec55f

> KahaDB index, recover free pages in parallel with start (Continued)
> ---
>
> Key: AMQ-7093
> URL: https://issues.apache.org/jira/browse/AMQ-7093
> Project: ActiveMQ
>  Issue Type: Bug
>  Components: KahaDB
>Affects Versions: 5.15.7
>Reporter: Jeff Genender
>Priority: Major
> Fix For: 5.16.0, 5.15.8
>
>
> AMQ-7082 was implemented to create a concurrent thread to handle the free 
> page recovery.  It was included as a part of 5.15.7.  There was some 
> additional add-on coding that was not a part of that release which had 
> introduced some potential bugs.  This was made to track the additional 
> commits for this.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2170) Optimized CoreMessage's checkProperties and cleanupInternalProperties methods

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686698#comment-16686698
 ] 

ASF GitHub Bot commented on ARTEMIS-2170:
-

Github user michaelandrepearce commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2427#discussion_r233493524
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java
 ---
@@ -52,6 +52,62 @@
  *  consumers */
 public class CoreMessage extends RefCountMessage implements ICoreMessage {
 
+   private static final class CoreTypedProperties extends TypedProperties {
+
+  // We use properties to establish routing context on clustering.
+  // However if the client resends the message after receiving, it 
needs to be removed
+  private static final Predicate 
INTERNAL_PROPERTY_NAMES_CLEANUP_FILTER =
+ name -> (name.startsWith(Message.HDR_ROUTE_TO_IDS) && 
!name.equals(Message.HDR_ROUTE_TO_IDS)) ||
+(name.startsWith(Message.HDR_ROUTE_TO_ACK_IDS) && 
!name.equals(Message.HDR_ROUTE_TO_ACK_IDS));
+  private static final SimpleString AMQ_PROPNAME = new 
SimpleString("_AMQ_");
+  private boolean internalProperties;
+
+  CoreTypedProperties() {
+ super();
+ internalProperties = false;
+  }
+
+  private CoreTypedProperties(TypedProperties other) {
+ super(other);
+ if (other instanceof CoreTypedProperties) {
+internalProperties = ((CoreTypedProperties) 
other).internalProperties;
+ } else {
+internalProperties = other.containsProperty(name -> 
name.startsWith(AMQ_PROPNAME));
+ }
+  }
+
+  @Override
+  protected synchronized void doPutValue(SimpleString key, 
TypedProperties.PropertyValue value) {
+ if (!internalProperties && key.startsWith(AMQ_PROPNAME)) {
+internalProperties = true;
+ }
+ super.doPutValue(key, value);
+  }
+
+  public synchronized boolean cleanupInternalProperties() {
--- End diff --

again is this really public, should this only be invokable by CoreMessage


> Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
> -
>
> Key: ARTEMIS-2170
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2170
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Minor
>
> CoreMessage::checkProperties perform too many volatile read/write and has a 
> too big body just to handle exceptional cases, while 
> cleanupInternalProperties is called on the hot path of session send, but is 
> performing too many synchronized operations and loopup on TypedProperties.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2170) Optimized CoreMessage's checkProperties and cleanupInternalProperties methods

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686695#comment-16686695
 ] 

ASF GitHub Bot commented on ARTEMIS-2170:
-

Github user michaelandrepearce commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2427#discussion_r233493239
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java
 ---
@@ -52,6 +52,62 @@
  *  consumers */
 public class CoreMessage extends RefCountMessage implements ICoreMessage {
 
+   private static final class CoreTypedProperties extends TypedProperties {
+
+  // We use properties to establish routing context on clustering.
+  // However if the client resends the message after receiving, it 
needs to be removed
+  private static final Predicate 
INTERNAL_PROPERTY_NAMES_CLEANUP_FILTER =
+ name -> (name.startsWith(Message.HDR_ROUTE_TO_IDS) && 
!name.equals(Message.HDR_ROUTE_TO_IDS)) ||
+(name.startsWith(Message.HDR_ROUTE_TO_ACK_IDS) && 
!name.equals(Message.HDR_ROUTE_TO_ACK_IDS));
+  private static final SimpleString AMQ_PROPNAME = new 
SimpleString("_AMQ_");
+  private boolean internalProperties;
+
+  CoreTypedProperties() {
+ super();
+ internalProperties = false;
+  }
+
+  private CoreTypedProperties(TypedProperties other) {
+ super(other);
+ if (other instanceof CoreTypedProperties) {
+internalProperties = ((CoreTypedProperties) 
other).internalProperties;
+ } else {
+internalProperties = other.containsProperty(name -> 
name.startsWith(AMQ_PROPNAME));
+ }
+  }
+
+  @Override
+  protected synchronized void doPutValue(SimpleString key, 
TypedProperties.PropertyValue value) {
+ if (!internalProperties && key.startsWith(AMQ_PROPNAME)) {
+internalProperties = true;
+ }
+ super.doPutValue(key, value);
+  }
+
+  public synchronized boolean cleanupInternalProperties() {
+ if (!internalProperties) {
+return false;
+ }
+ return removeProperty(INTERNAL_PROPERTY_NAMES_CLEANUP_FILTER);
+  }
+
+  public static boolean cleanupInternalProperties(TypedProperties 
typedProperties) {
--- End diff --

is this really public?


> Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
> -
>
> Key: ARTEMIS-2170
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2170
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Minor
>
> CoreMessage::checkProperties perform too many volatile read/write and has a 
> too big body just to handle exceptional cases, while 
> cleanupInternalProperties is called on the hot path of session send, but is 
> performing too many synchronized operations and loopup on TypedProperties.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2174) Broker reconnect to another with scale down policy cause OOM

2018-11-14 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2174?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686682#comment-16686682
 ] 

ASF subversion and git services commented on ARTEMIS-2174:
--

Commit 6e89b22eaae8cd82852ae3d0a643bb3502cf994c in activemq-artemis's branch 
refs/heads/master from [~gaohoward]
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=6e89b22 ]

ARTEMIS-2174 Broker reconnect cause OOM with scale down

When a node tries to reconnects to another node in a scale down cluster,
the reconnect request gets denied by the other node and keeps retrying,
which causes tasks in the ordered executor accumulate and eventually OOM.

The fix is to change the ActiveMQPacketHandler#handleCheckForFailover
to allow reconnect if the scale down node is the node itself.


> Broker reconnect to another with scale down policy cause OOM
> 
>
> Key: ARTEMIS-2174
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2174
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Broker
>Affects Versions: 2.6.3
>Reporter: Howard Gao
>Assignee: Howard Gao
>Priority: Major
> Fix For: 2.6.4
>
>
> When a node tries to reconnects to another node in a scale down cluster, the 
> reconnect request gets denied by the other node and keeps retrying, which 
> causes tasks in the ordered executor accumulate and eventually OOM.
> To reproduce:
>  # Start 2 nodes (node1 and 2) cluster configured in scale down mode.
>  # stop node2 and restart it.
>  # node1 will try to reconnect to node2 repeatedly and ever succeed.
>  # Inspect the connecting ClientSessionFactory (like adding log) and its 
> threadpool (closeExecutor an object of OrderedExecutor) keeps adding tasks to 
> its queue.
> Over the time the queue keeps ever growing, and will exhaust the heap memory.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2174) Broker reconnect to another with scale down policy cause OOM

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2174?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686686#comment-16686686
 ] 

ASF GitHub Bot commented on ARTEMIS-2174:
-

Github user asfgit closed the pull request at:

https://github.com/apache/activemq-artemis/pull/2430


> Broker reconnect to another with scale down policy cause OOM
> 
>
> Key: ARTEMIS-2174
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2174
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Broker
>Affects Versions: 2.6.3
>Reporter: Howard Gao
>Assignee: Howard Gao
>Priority: Major
> Fix For: 2.6.4
>
>
> When a node tries to reconnects to another node in a scale down cluster, the 
> reconnect request gets denied by the other node and keeps retrying, which 
> causes tasks in the ordered executor accumulate and eventually OOM.
> To reproduce:
>  # Start 2 nodes (node1 and 2) cluster configured in scale down mode.
>  # stop node2 and restart it.
>  # node1 will try to reconnect to node2 repeatedly and ever succeed.
>  # Inspect the connecting ClientSessionFactory (like adding log) and its 
> threadpool (closeExecutor an object of OrderedExecutor) keeps adding tasks to 
> its queue.
> Over the time the queue keeps ever growing, and will exhaust the heap memory.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2170) Optimized CoreMessage's checkProperties and cleanupInternalProperties methods

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686681#comment-16686681
 ] 

ASF GitHub Bot commented on ARTEMIS-2170:
-

Github user michaelandrepearce commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2427#discussion_r233491698
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java
 ---
@@ -1133,8 +1158,7 @@ public Object removeProperty(final SimpleString key) {
@Override
public Object removeProperty(final String key) {
   messageChanged();
-  checkProperties();
-  Object oldValue = 
properties.removeProperty(SimpleString.toSimpleString(key, 
getPropertyKeysPool()));
+  Object oldValue = 
checkProperties().removeProperty(SimpleString.toSimpleString(key, 
getPropertyKeysPool()));
--- End diff --

delegate to 
   public Object removeProperty(final SimpleString key) {



> Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
> -
>
> Key: ARTEMIS-2170
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2170
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Minor
>
> CoreMessage::checkProperties perform too many volatile read/write and has a 
> too big body just to handle exceptional cases, while 
> cleanupInternalProperties is called on the hot path of session send, but is 
> performing too many synchronized operations and loopup on TypedProperties.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2170) Optimized CoreMessage's checkProperties and cleanupInternalProperties methods

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686687#comment-16686687
 ] 

ASF GitHub Bot commented on ARTEMIS-2170:
-

Github user michaelandrepearce commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2427#discussion_r233491975
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java
 ---
@@ -1143,20 +1167,17 @@ public Object removeProperty(final String key) {
 
@Override
public boolean containsProperty(final SimpleString key) {
-  checkProperties();
-  return properties.containsProperty(key);
+  return checkProperties().containsProperty(key);
}
 
@Override
public boolean containsProperty(final String key) {
-  checkProperties();
-  return properties.containsProperty(SimpleString.toSimpleString(key, 
getPropertyKeysPool()));
+  return 
checkProperties().containsProperty(SimpleString.toSimpleString(key, 
getPropertyKeysPool()));
--- End diff --

delegate to:
   public boolean containsProperty(final SimpleString key) {


Just repeat this review comment on all methods taking a String key ;) to 
delegate to the SimpleString equiv.


> Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
> -
>
> Key: ARTEMIS-2170
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2170
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Minor
>
> CoreMessage::checkProperties perform too many volatile read/write and has a 
> too big body just to handle exceptional cases, while 
> cleanupInternalProperties is called on the hot path of session send, but is 
> performing too many synchronized operations and loopup on TypedProperties.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2170) Optimized CoreMessage's checkProperties and cleanupInternalProperties methods

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686678#comment-16686678
 ] 

ASF GitHub Bot commented on ARTEMIS-2170:
-

Github user michaelandrepearce commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2427#discussion_r233491363
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java
 ---
@@ -1070,26 +1102,22 @@ public CoreMessage putObjectProperty(final String 
key, final Object value) throw
 
@Override
public Short getShortProperty(final SimpleString key) throws 
ActiveMQPropertyConversionException {
-  checkProperties();
-  return properties.getShortProperty(key);
+  return checkProperties().getShortProperty(key);
}
 
@Override
public Short getShortProperty(final String key) throws 
ActiveMQPropertyConversionException {
-  checkProperties();
-  return properties.getShortProperty(SimpleString.toSimpleString(key, 
getPropertyKeysPool()));
+  return 
checkProperties().getShortProperty(SimpleString.toSimpleString(key, 
getPropertyKeysPool()));
--- End diff --

delegate to 
   public Short getShortProperty(final SimpleString key) throws 
ActiveMQPropertyConversionException {



> Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
> -
>
> Key: ARTEMIS-2170
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2170
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Minor
>
> CoreMessage::checkProperties perform too many volatile read/write and has a 
> too big body just to handle exceptional cases, while 
> cleanupInternalProperties is called on the hot path of session send, but is 
> performing too many synchronized operations and loopup on TypedProperties.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2170) Optimized CoreMessage's checkProperties and cleanupInternalProperties methods

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686675#comment-16686675
 ] 

ASF GitHub Bot commented on ARTEMIS-2170:
-

Github user michaelandrepearce commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2427#discussion_r233491147
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java
 ---
@@ -946,119 +994,103 @@ public Integer getIntProperty(final String key) 
throws ActiveMQPropertyConversio
@Override
public CoreMessage putLongProperty(final SimpleString key, final long 
value) {
   messageChanged();
-  checkProperties();
-  properties.putLongProperty(key, value);
+  checkProperties().putLongProperty(key, value);
   return this;
}
 
@Override
public CoreMessage putLongProperty(final String key, final long value) {
   messageChanged();
-  checkProperties();
-  properties.putLongProperty(SimpleString.toSimpleString(key, 
getPropertyKeysPool()), value);
+  checkProperties().putLongProperty(SimpleString.toSimpleString(key, 
getPropertyKeysPool()), value);
   return this;
}
 
@Override
public Long getLongProperty(final SimpleString key) throws 
ActiveMQPropertyConversionException {
-  checkProperties();
-  return properties.getLongProperty(key);
+  return checkProperties().getLongProperty(key);
}
 
@Override
public Long getLongProperty(final String key) throws 
ActiveMQPropertyConversionException {
-  checkProperties();
   return getLongProperty(SimpleString.toSimpleString(key));
}
 
@Override
public CoreMessage putFloatProperty(final SimpleString key, final float 
value) {
   messageChanged();
-  checkProperties();
-  properties.putFloatProperty(key, value);
+  checkProperties().putFloatProperty(key, value);
   return this;
}
 
@Override
public CoreMessage putFloatProperty(final String key, final float 
value) {
   messageChanged();
-  checkProperties();
-  properties.putFloatProperty(SimpleString.toSimpleString(key, 
getPropertyKeysPool()), value);
+  checkProperties().putFloatProperty(SimpleString.toSimpleString(key, 
getPropertyKeysPool()), value);
   return this;
}
 
@Override
public CoreMessage putDoubleProperty(final SimpleString key, final 
double value) {
   messageChanged();
-  checkProperties();
-  properties.putDoubleProperty(key, value);
+  checkProperties().putDoubleProperty(key, value);
   return this;
}
 
@Override
public CoreMessage putDoubleProperty(final String key, final double 
value) {
   messageChanged();
-  checkProperties();
-  properties.putDoubleProperty(SimpleString.toSimpleString(key, 
getPropertyKeysPool()), value);
+  checkProperties().putDoubleProperty(SimpleString.toSimpleString(key, 
getPropertyKeysPool()), value);
   return this;
}
 
@Override
public Double getDoubleProperty(final SimpleString key) throws 
ActiveMQPropertyConversionException {
-  checkProperties();
-  return properties.getDoubleProperty(key);
+  return checkProperties().getDoubleProperty(key);
}
 
@Override
public Double getDoubleProperty(final String key) throws 
ActiveMQPropertyConversionException {
-  checkProperties();
   return getDoubleProperty(SimpleString.toSimpleString(key));
}
 
@Override
public CoreMessage putStringProperty(final SimpleString key, final 
SimpleString value) {
   messageChanged();
-  checkProperties();
-  properties.putSimpleStringProperty(key, value);
+  checkProperties().putSimpleStringProperty(key, value);
   return this;
}
 
@Override
public CoreMessage putStringProperty(final SimpleString key, final 
String value) {
   messageChanged();
-  checkProperties();
-  properties.putSimpleStringProperty(key, 
SimpleString.toSimpleString(value, getPropertyValuesPool()));
+  checkProperties().putSimpleStringProperty(key, 
SimpleString.toSimpleString(value, getPropertyValuesPool()));
   return this;
}
 
 
@Override
public CoreMessage putStringProperty(final String key, final String 
value) {
   messageChanged();
-  checkProperties();
-  properties.putSimpleStringProperty(SimpleString.toSimpleString(key, 
getPropertyKeysPool()), SimpleString.toSimpleString(value, 
getPropertyValuesPool()));
+ 

[jira] [Commented] (ARTEMIS-2104) Implement tests for Import/Export (replay) of messages

2018-11-14 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686674#comment-16686674
 ] 

ASF subversion and git services commented on ARTEMIS-2104:
--

Commit be9676c0d397384bd2ab647311fcd19729cb080a in activemq-artemis's branch 
refs/heads/master from feuillemorte
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=be9676c ]

ARTEMIS-2104 Added tests in artemis-cli//MessageSerializerTest

Added new cases:
- export from anycast queue, then import to multicast topic where number of 
queues > 1
- export from anycast queue, then import to multicast fqqn where number of 
queues > 1
- export from multicast topic, then import to anycast queue (both address)
- export from anycast queue, then import to multicast topic (both address)


> Implement tests for Import/Export (replay) of messages
> --
>
> Key: ARTEMIS-2104
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2104
> Project: ActiveMQ Artemis
>  Issue Type: Test
>  Components: Broker
>Reporter: Oleg Sushchenko
>Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2170) Optimized CoreMessage's checkProperties and cleanupInternalProperties methods

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686667#comment-16686667
 ] 

ASF GitHub Bot commented on ARTEMIS-2170:
-

Github user michaelandrepearce commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2427#discussion_r233490350
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java
 ---
@@ -52,6 +52,62 @@
  *  consumers */
 public class CoreMessage extends RefCountMessage implements ICoreMessage {
 
+   private static final class CoreTypedProperties extends TypedProperties {
--- End diff --

is this really needed, the way i see it, looking through the usage, these 
internal properties, are a bit like the extra properties that exist and 
introduced on AMQPMessage, e.g. theyre bits added onto the message but not part 
of the core message, could there just be two fields of type TypeProperties in 
core message, one (existing) for normal properties, and another for Internal 
Properties, which are these things, that then would make cleaning up / not 
forwarding on far easier, as then simply you clear them.


> Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
> -
>
> Key: ARTEMIS-2170
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2170
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Minor
>
> CoreMessage::checkProperties perform too many volatile read/write and has a 
> too big body just to handle exceptional cases, while 
> cleanupInternalProperties is called on the hot path of session send, but is 
> performing too many synchronized operations and loopup on TypedProperties.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2170) Optimized CoreMessage's checkProperties and cleanupInternalProperties methods

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=1668#comment-1668
 ] 

ASF GitHub Bot commented on ARTEMIS-2170:
-

Github user michaelandrepearce commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2427#discussion_r233490193
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/message/impl/CoreMessage.java
 ---
@@ -564,34 +604,59 @@ public CoreMessage setUserID(UUID userID) {
/**
 * I am keeping this synchronized as the decode of the Properties is 
lazy
 */
-   protected TypedProperties checkProperties() {
+   protected final TypedProperties checkProperties() {
--- End diff --

could this be renamed getProperties as it seems much like a getter method.


> Optimized CoreMessage's checkProperties and cleanupInternalProperties methods
> -
>
> Key: ARTEMIS-2170
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2170
> Project: ActiveMQ Artemis
>  Issue Type: Improvement
>  Components: Broker
>Reporter: Francesco Nigro
>Assignee: Francesco Nigro
>Priority: Minor
>
> CoreMessage::checkProperties perform too many volatile read/write and has a 
> too big body just to handle exceptional cases, while 
> cleanupInternalProperties is called on the hot path of session send, but is 
> performing too many synchronized operations and loopup on TypedProperties.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AMQ-7093) KahaDB index, recover free pages in parallel with start (Continued)

2018-11-14 Thread Christopher L. Shannon (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686659#comment-16686659
 ] 

Christopher L. Shannon commented on AMQ-7093:
-

[~gtully] - The PageFileTest is failing for me on the 5.15.x branch but it 
works in master.  I'm wondering if we missed backporting something, there have 
been a lot of changes.

Specifically the testBackgroundWillNotMarkEaslyPagesAsFree test is not passing 
this assertion:
{noformat}
assertTrue("We have 10 free pages", Wait.waitFor(new Wait.Condition() {
@Override
public boolean isSatisified() throws Exception {
pf2.flush();
long freePages = pf2.getFreePageCount();
LOG.info("free page count: " + freePages);
return  freePages == 100100;
}
}, 1200));{noformat}

> KahaDB index, recover free pages in parallel with start (Continued)
> ---
>
> Key: AMQ-7093
> URL: https://issues.apache.org/jira/browse/AMQ-7093
> Project: ActiveMQ
>  Issue Type: Bug
>  Components: KahaDB
>Affects Versions: 5.15.7
>Reporter: Jeff Genender
>Priority: Major
> Fix For: 5.16.0, 5.15.8
>
>
> AMQ-7082 was implemented to create a concurrent thread to handle the free 
> page recovery.  It was included as a part of 5.15.7.  There was some 
> additional add-on coding that was not a part of that release which had 
> introduced some potential bugs.  This was made to track the additional 
> commits for this.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2163) Classloading issue if artemis-commons is not in ther same classloader as artemis-client-* or artemis-server

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2163?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686643#comment-16686643
 ] 

ASF GitHub Bot commented on ARTEMIS-2163:
-

Github user clebertsuconic commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/2416#discussion_r233483727
  
--- Diff: 
artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientSessionFactoryImpl.java
 ---
@@ -982,7 +982,13 @@ protected ConnectorFactory 
instantiateConnectorFactory(final String connectorFac
   return AccessController.doPrivileged(new 
PrivilegedAction() {
  @Override
  public ConnectorFactory run() {
-return (ConnectorFactory) 
ClassloadingUtil.newInstanceFromClassLoader(connectorFactoryClassName);
+ClassLoader cl = 
Thread.currentThread().getContextClassLoader();
--- End diff --

Couldn't you change ClassLoadingUtil as
```java

   public static Object newInstanceFromClassLoader(final String className) {
  return newInstanceFromClassLoader(ClassloadingUtil.class, className);
   }

   public static Object newInstanceFromClassLoader(Class classOwner, final 
String className) {
  ClassLoader loader = classOwner.getClassLoader();
  try {
 Class clazz = loader.loadClass(className);
 return clazz.newInstance();
  } catch (Throwable t) {
 if (t instanceof InstantiationException) {
System.out.println(INSTANTIATION_EXCEPTION_MESSAGE);
 }
 loader = Thread.currentThread().getContextClassLoader();
 if (loader == null)
throw new RuntimeException("No local context classloader", t);

 try {
return loader.loadClass(className).newInstance();
 } catch (InstantiationException e) {
throw new RuntimeException(INSTANTIATION_EXCEPTION_MESSAGE + " 
" + className, e);
 } catch (ClassNotFoundException e) {
throw new IllegalStateException(e);
 } catch (IllegalAccessException e) {
throw new RuntimeException(e);
 }
  }
   }
```


and pass in the class parameter on these cases?


Or would this have issues with Security on the JDK?


If there are no issues I would prefer the parameter added?


> Classloading issue if artemis-commons is not in ther same classloader as 
> artemis-client-* or artemis-server
> ---
>
> Key: ARTEMIS-2163
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2163
> Project: ActiveMQ Artemis
>  Issue Type: Wish
>  Components: Broker
>Affects Versions: 2.6.3
>Reporter: Emmanuel Hugonnet
>Priority: Major
>
> The class org.apache.activemq.artemis.utils.ClassLoadingUtil is defined in 
> artemis-commons. In a jboss-modules environment this creates a loop to be 
> able to load classes from another module.
> Setting the ThreadContext classloader to the calling class before invoking 
> ClassLoadingUtil
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2142) Support JMSXGroupSeq -1 to close/reset Groups

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686628#comment-16686628
 ] 

ASF GitHub Bot commented on ARTEMIS-2142:
-

Github user asfgit closed the pull request at:

https://github.com/apache/activemq-artemis/pull/2424


> Support JMSXGroupSeq -1 to close/reset Groups
> -
>
> Key: ARTEMIS-2142
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2142
> Project: ActiveMQ Artemis
>  Issue Type: Sub-task
>Reporter: Michael Andre Pearce
>Assignee: Michael Andre Pearce
>Priority: Major
>
> Support Closing groups as per ActiveMQ 5 , 
> [http://activemq.apache.org/message-groups.html] using -1 on groupsequence to 
> as the signal



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2142) Support JMSXGroupSeq -1 to close/reset Groups

2018-11-14 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686636#comment-16686636
 ] 

ASF subversion and git services commented on ARTEMIS-2142:
--

Commit 5ac87609e70e85397b81b170d6337ada9fa9e89f in activemq-artemis's branch 
refs/heads/master from [~teaandcoffee]
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=5ac8760 ]

ARTEMIS-2142 Refactor of Patchfix ServerJMSMessage

Refactor ServerJMSMessage so it correctly transposes all JMSX headers.
Push common JMSX mappings for JMS to Message Interface mappings into 
MessageUtil to avoid duplication in ActiveMQMessage and ServerJMSMessage

> Support JMSXGroupSeq -1 to close/reset Groups
> -
>
> Key: ARTEMIS-2142
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2142
> Project: ActiveMQ Artemis
>  Issue Type: Sub-task
>Reporter: Michael Andre Pearce
>Assignee: Michael Andre Pearce
>Priority: Major
>
> Support Closing groups as per ActiveMQ 5 , 
> [http://activemq.apache.org/message-groups.html] using -1 on groupsequence to 
> as the signal



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2142) Support JMSXGroupSeq -1 to close/reset Groups

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686635#comment-16686635
 ] 

ASF GitHub Bot commented on ARTEMIS-2142:
-

Github user clebertsuconic commented on the issue:

https://github.com/apache/activemq-artemis/pull/2425
  
I am a bit confused on how to merge this into 2.6.x. If you want a 2.6.x 
patch can you pull it yourself?


> Support JMSXGroupSeq -1 to close/reset Groups
> -
>
> Key: ARTEMIS-2142
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2142
> Project: ActiveMQ Artemis
>  Issue Type: Sub-task
>Reporter: Michael Andre Pearce
>Assignee: Michael Andre Pearce
>Priority: Major
>
> Support Closing groups as per ActiveMQ 5 , 
> [http://activemq.apache.org/message-groups.html] using -1 on groupsequence to 
> as the signal



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AMQ-7087) Add Java 11 Support

2018-11-14 Thread Christopher L. Shannon (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7087?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686632#comment-16686632
 ] 

Christopher L. Shannon commented on AMQ-7087:
-

Ok thanks I will try it

> Add Java 11 Support
> ---
>
> Key: AMQ-7087
> URL: https://issues.apache.org/jira/browse/AMQ-7087
> Project: ActiveMQ
>  Issue Type: Improvement
>  Components: Broker
>Affects Versions: 5.15.6
> Environment: Windows 10 with the OpenJDK 11 "bin" directory on the 
> path.
>Reporter: Jeff Gullett
>Assignee: Christopher L. Shannon
>Priority: Critical
> Fix For: 5.16.0
>
>
> Java 8 support is ending in January, 2019 (in 2 months).  Currently, the 
> ActiveMQ Broker only supports Java 8.  When I try to start the broker using 
> Java 11 (the latest long-term-support version), I get the following error:
> Unable to execute Java command.  The system cannot find the file specified. 
> (0x2)
> Critical error: wait for JVM process failed
> Since both Java 9 and Java 10 are already EOL, support for Java 11 needs to 
> be added by January 2019.  The issue to add Java 9 support (AMQ-6864) is OBE, 
> and should be replaced by this issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2142) Support JMSXGroupSeq -1 to close/reset Groups

2018-11-14 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2142?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686626#comment-16686626
 ] 

ASF subversion and git services commented on ARTEMIS-2142:
--

Commit 14451a79eb11294dec6571bf54fe8da84446e931 in activemq-artemis's branch 
refs/heads/master from [~teaandcoffee]
[ https://git-wip-us.apache.org/repos/asf?p=activemq-artemis.git;h=14451a7 ]

ARTEMIS-2142 Patch Fix ServerJMSMessage for JMSXGROUPSEQ

This is a patch fix for JMSXGROUPSEQ.

> Support JMSXGroupSeq -1 to close/reset Groups
> -
>
> Key: ARTEMIS-2142
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2142
> Project: ActiveMQ Artemis
>  Issue Type: Sub-task
>Reporter: Michael Andre Pearce
>Assignee: Michael Andre Pearce
>Priority: Major
>
> Support Closing groups as per ActiveMQ 5 , 
> [http://activemq.apache.org/message-groups.html] using -1 on groupsequence to 
> as the signal



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AMQ-7087) Add Java 11 Support

2018-11-14 Thread Daniel Kulp (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7087?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686612#comment-16686612
 ] 

Daniel Kulp commented on AMQ-7087:
--

The xic-utils use it's own version numbers and release schedule.   No different 
than ActiveMQ vs Artemis.   3.2.3 should work.

> Add Java 11 Support
> ---
>
> Key: AMQ-7087
> URL: https://issues.apache.org/jira/browse/AMQ-7087
> Project: ActiveMQ
>  Issue Type: Improvement
>  Components: Broker
>Affects Versions: 5.15.6
> Environment: Windows 10 with the OpenJDK 11 "bin" directory on the 
> path.
>Reporter: Jeff Gullett
>Assignee: Christopher L. Shannon
>Priority: Critical
> Fix For: 5.16.0
>
>
> Java 8 support is ending in January, 2019 (in 2 months).  Currently, the 
> ActiveMQ Broker only supports Java 8.  When I try to start the broker using 
> Java 11 (the latest long-term-support version), I get the following error:
> Unable to execute Java command.  The system cannot find the file specified. 
> (0x2)
> Critical error: wait for JVM process failed
> Since both Java 9 and Java 10 are already EOL, support for Java 11 needs to 
> be added by January 2019.  The issue to add Java 9 support (AMQ-6864) is OBE, 
> and should be replaced by this issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2165) Not having backup available after restart in colocated configuration

2018-11-14 Thread Dmitry Smeliansky (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2165?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686610#comment-16686610
 ] 

Dmitry Smeliansky commented on ARTEMIS-2165:


Is it possible to get some update for this one?

As I mentioned in the ticket description, this exactly the same question was 
asked multiple times in stackoverflow but no clear answer was provided.

This is one of our decision makers about using Artemis as a queue 
infrastructure of our product.

Thanks

> Not having backup available after restart in colocated configuration
> 
>
> Key: ARTEMIS-2165
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2165
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Broker
>Affects Versions: 2.6.0
>Reporter: Dmitry Smeliansky
>Priority: Major
>
> We use colocated HA-policy and trying to achieve the following:
>  # We have 2 servers and want each one of them will hold a) 1 master b) 1 
> slave for the master of each other
>  # When we start the servers we have the above as we wanted
>  # When one of the server is going down, the slave on the second becomes a 
> live master - till now everything is ok
>  # When the second server (which was down in step 3) is up, the slave from 
> server 1 remains a live master and a slave for master 1 is not created in 
> server 2.
> All we want is : how the system should be configured, so after the step 4 we 
> will have the exact topology as after the step 1.
>  # Start server 1 and server 2: server 1 has 1 master and 1 slave, server 2 
> has one master and one slave
>  # Restart server 2: server 1 has one master and one slave, server 2 has one 
> master and one slave
>  
>  
>  
> This issue was asked multiple times in stackoverflow, but was never answered.
> When using a co-located HA policy, the backups, maintained by some node are 
> not restored after this node is restarted (not on this node and not on any 
> other).
> [https://stackoverflow.com/questions/52839706/artemis-2-6-0-colocated-ha-issues]
> [https://stackoverflow.com/questions/52000662/artemis-colocated-ha-policy]
> Our configuration was as the following:
> {code:java}
>
> 
>   
> 100
> true
> 2
> -1
> 
> 5000
> 
> 
>   
> 
>   {code}
> Thanks



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AMQ-7087) Add Java 11 Support

2018-11-14 Thread Christopher L. Shannon (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7087?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686596#comment-16686596
 ] 

Christopher L. Shannon commented on AMQ-7087:
-

Right but I don't see 3.3 yet: 
https://mvnrepository.com/artifact/org.apache.cxf/cxf-xjc-plugin

> Add Java 11 Support
> ---
>
> Key: AMQ-7087
> URL: https://issues.apache.org/jira/browse/AMQ-7087
> Project: ActiveMQ
>  Issue Type: Improvement
>  Components: Broker
>Affects Versions: 5.15.6
> Environment: Windows 10 with the OpenJDK 11 "bin" directory on the 
> path.
>Reporter: Jeff Gullett
>Assignee: Christopher L. Shannon
>Priority: Critical
> Fix For: 5.16.0
>
>
> Java 8 support is ending in January, 2019 (in 2 months).  Currently, the 
> ActiveMQ Broker only supports Java 8.  When I try to start the broker using 
> Java 11 (the latest long-term-support version), I get the following error:
> Unable to execute Java command.  The system cannot find the file specified. 
> (0x2)
> Critical error: wait for JVM process failed
> Since both Java 9 and Java 10 are already EOL, support for Java 11 needs to 
> be added by January 2019.  The issue to add Java 9 support (AMQ-6864) is OBE, 
> and should be replaced by this issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AMQ-7087) Add Java 11 Support

2018-11-14 Thread Daniel Kulp (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7087?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686589#comment-16686589
 ] 

Daniel Kulp commented on AMQ-7087:
--

I believe AMQ only used the cxf-xjc-plugin.  That was released a couple weeks 
ago.



> Add Java 11 Support
> ---
>
> Key: AMQ-7087
> URL: https://issues.apache.org/jira/browse/AMQ-7087
> Project: ActiveMQ
>  Issue Type: Improvement
>  Components: Broker
>Affects Versions: 5.15.6
> Environment: Windows 10 with the OpenJDK 11 "bin" directory on the 
> path.
>Reporter: Jeff Gullett
>Assignee: Christopher L. Shannon
>Priority: Critical
> Fix For: 5.16.0
>
>
> Java 8 support is ending in January, 2019 (in 2 months).  Currently, the 
> ActiveMQ Broker only supports Java 8.  When I try to start the broker using 
> Java 11 (the latest long-term-support version), I get the following error:
> Unable to execute Java command.  The system cannot find the file specified. 
> (0x2)
> Critical error: wait for JVM process failed
> Since both Java 9 and Java 10 are already EOL, support for Java 11 needs to 
> be added by January 2019.  The issue to add Java 9 support (AMQ-6864) is OBE, 
> and should be replaced by this issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AMQ-7096) ActiveMQ lose messages on broker restarts

2018-11-14 Thread Gary Tully (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7096?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686573#comment-16686573
 ] 

Gary Tully commented on AMQ-7096:
-

Please provide a standalone test case that asserts that the bug is in activemq. 
There are loads of tests in the activemq-unit-test module that can provide 
inspiration

> ActiveMQ lose messages on broker restarts
> -
>
> Key: AMQ-7096
> URL: https://issues.apache.org/jira/browse/AMQ-7096
> Project: ActiveMQ
>  Issue Type: Bug
>  Components: Broker
>Affects Versions: 5.15.7
>Reporter: Veaceslav Doina
>Priority: Critical
>
> Hello,
> We recently performed ActiveMQ reliability test in order to verify if it can 
> guarantee 0 messages loss. Results show, that if the broker is restarted in 
> the process of producing/consuming we lose messages.
> Testing environment: 
> AWS
> Hardware: 
> |Broker|m5.large|2vCPU / 8GiB|
> |Producer/Consumer|t3.large|2vCPU / 8GiB|
> Software:
> OS: CentOS Linux release 7.5.1804 
> Java: Oracle JDK SE 8 Update 192
> ActiveMQ: ActiveMQ 5.15.7
> Client: [JmsTools|https://github.com/erik-wramner/JmsTools]
> Default ActiveMQ configuration was used with only [unique DLQ 
> configuration|http://activemq.apache.org/message-redelivery-and-dlq-handling.html].
>  
>  
> The result and project with all required data for issue reproducing may be 
> found on GitHub: [https://github.com/veaceslavdoina/messages-brokers-testing]
> Discussion on the Mailing list: 
> [http://activemq.2283324.n4.nabble.com/ActiveMQ-and-Artemis-reliability-Messages-lost-tt4744881.html]
>  
> Thank you!
>  
> Slava.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Resolved] (AMQ-7009) ActiveMQ stop delivering messages

2018-11-14 Thread Gary Tully (JIRA)


 [ 
https://issues.apache.org/jira/browse/AMQ-7009?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gary Tully resolved AMQ-7009.
-
   Resolution: Fixed
 Assignee: Gary Tully
Fix Version/s: 5.16.0

Thanks for the test case and suggested fix. A little tweak to the test case to 
better manage memory usage made it clear that your fix is good.

> ActiveMQ stop delivering messages
> -
>
> Key: AMQ-7009
> URL: https://issues.apache.org/jira/browse/AMQ-7009
> Project: ActiveMQ
>  Issue Type: Bug
>Affects Versions: 5.15.4
>Reporter: Nezih BEN FREDJ
>Assignee: Gary Tully
>Priority: Critical
> Fix For: 5.16.0
>
> Attachments: MemoryMessageStore.java, 
> MemoryMessageStoreQueueCursorTest.java, activemq.log
>
>
> We have a problem with ActiveMQ 5.15.4, it stop deliver messages to clients.
> This happens completely randomly and we are not able to give a test case that 
> reproduce the problem
> Activemq is configured to use the « memoryPersistenceAdapter »
>  
> When examining memory dumps, we identified incoherent situation in the class 
> MemoryMessageStore that can lead to stop delivering messages. When :
>  - MemoryMessageStore.recoverNextMessages(...) is called
>  - « lastBatchId » is not null
>  - « messageTable » does not contains any entry with « lastBatchId » as key
> no messages are recovered
>  
> We added logs to try to understand how it is possible to have a non null « 
> lastBatchId » and «  messageTable » with no entry having « lastBatchId » as 
> key.
>  
> We noticed that the method setBatch is called with a non null « messageId » 
> parameter, but no message with this id is inserted in « messageTable ». After 
> that, when the method MemoryMessageStore.recoverNextMessages(...) is called, 
> it does nothing and no messages are recoverd. And the system go in a what 
> looks like an endless loop.
>  
> We are testing a temporary solution by resetting « lastBatchId » to null when 
> the incoherent situation is detected.
>  
> Can you help us resolving the problem at the source and not just get around.
> I joined modified source code of the class MemoryMessageStore and an extract 
> of the log file.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AMQ-7009) ActiveMQ stop delivering messages

2018-11-14 Thread ASF subversion and git services (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7009?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686570#comment-16686570
 ] 

ASF subversion and git services commented on AMQ-7009:
--

Commit bc8c78cd32b27dd1806fe2246c21241ab68a1fde in activemq's branch 
refs/heads/master from gtully
[ https://git-wip-us.apache.org/repos/asf?p=activemq.git;h=bc8c78c ]

AMQ-7009 - apply fix to memorymessagestore setBatch with thanks to Nezih BEN 
FREDJ for test and suggestion


> ActiveMQ stop delivering messages
> -
>
> Key: AMQ-7009
> URL: https://issues.apache.org/jira/browse/AMQ-7009
> Project: ActiveMQ
>  Issue Type: Bug
>Affects Versions: 5.15.4
>Reporter: Nezih BEN FREDJ
>Priority: Critical
> Attachments: MemoryMessageStore.java, 
> MemoryMessageStoreQueueCursorTest.java, activemq.log
>
>
> We have a problem with ActiveMQ 5.15.4, it stop deliver messages to clients.
> This happens completely randomly and we are not able to give a test case that 
> reproduce the problem
> Activemq is configured to use the « memoryPersistenceAdapter »
>  
> When examining memory dumps, we identified incoherent situation in the class 
> MemoryMessageStore that can lead to stop delivering messages. When :
>  - MemoryMessageStore.recoverNextMessages(...) is called
>  - « lastBatchId » is not null
>  - « messageTable » does not contains any entry with « lastBatchId » as key
> no messages are recovered
>  
> We added logs to try to understand how it is possible to have a non null « 
> lastBatchId » and «  messageTable » with no entry having « lastBatchId » as 
> key.
>  
> We noticed that the method setBatch is called with a non null « messageId » 
> parameter, but no message with this id is inserted in « messageTable ». After 
> that, when the method MemoryMessageStore.recoverNextMessages(...) is called, 
> it does nothing and no messages are recoverd. And the system go in a what 
> looks like an endless loop.
>  
> We are testing a temporary solution by resetting « lastBatchId » to null when 
> the incoherent situation is detected.
>  
> Can you help us resolving the problem at the source and not just get around.
> I joined modified source code of the class MemoryMessageStore and an extract 
> of the log file.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AMQ-6903) Issue With Master and Slave Mode

2018-11-14 Thread Veaceslav Doina (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-6903?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686557#comment-16686557
 ] 

Veaceslav Doina commented on AMQ-6903:
--

[~gtully], thank you for pointing in the right direction:
{code:java}

   


   
{code}

> Issue With Master and Slave Mode
> 
>
> Key: AMQ-6903
> URL: https://issues.apache.org/jira/browse/AMQ-6903
> Project: ActiveMQ
>  Issue Type: Bug
>Affects Versions: 5.15.2
>Reporter: CHAKRADHAR REDDY
>Priority: Critical
>
> Hi All,
> We have installed Apache AMQ in master slave mode we could see that slave is 
> not becoming up immediately after master is shutdown and we could see below 
> exception.
>  
> FYI: We have many messages in queues and this slave is not up till we clear 
> data in kahadb location and once we have cleaned data in kahadb location 
> there no messages in queues any longer.
> we have lost all messages from queues is there any option we can get messages 
> from db.log etc.. files from kahadb location
> We have received below transport Errors this is reason we have shutdown 
> master to make slave up
> 2018-01-13 04:33:04,032 | ERROR | Could not accept connection from tcp://IP 
> of server containing interfaces accessing AMQ server:52808 : {} | 
> org.apache.activemq.broker.TransportConnector | ActiveMQ BrokerServ
> ice[ip] Task-15549
> java.lang.IllegalStateException: Timer already cancelled.
> at java.util.Timer.sched(Timer.java:397)[:1.8.0_151]
> at java.util.Timer.schedule(Timer.java:193)[:1.8.0_151]
> at 
> org.apache.activemq.transport.AbstractInactivityMonitor.startConnectCheckTask(AbstractInactivityMonitor.java:425)[activemq-client-5.15.2.jar:5.15.2]
> at org.apache.activemq.transport.AbstractInactivityMonitor.startConne
> After shutdown of master slave is not up with below error and we lost all 
> data in queues.
> 2018-02-21 20:09:18,135 | ERROR | File system space reported by: 
> /DBA/EFS/activemq/kahadb was negative, possibly a huge file system, set a 
> sane usage.total to provide some guidance | 
> org.apache.activemq.broker.BrokerService | main
> 2018-02-21 20:09:18,139 | ERROR | Failed to start Apache ActiveMQ (IP, ID:DNS 
> of activemq server) | org.apache.activemq.broker.BrokerService | main
> org.apache.activemq.ConfigurationException: File system space reported by: 
> /DBA/EFS/activemq/kahadb was negative, possibly a huge file system, set a 
> sane usage.total to provide some guidance
> at 
> org.apache.activemq.broker.BrokerService.checkUsageLimit(BrokerService.java:2092)[activemq-broker-5.15.2.jar:5.15.2]
> at 
> org.apache.activemq.broker.BrokerService.checkStoreUsageLimits(BrokerService.java:2029)[activemq-broker-5.15.2.jar:5.15.2]
> at 
> org.apache.activemq.broker.BrokerService.checkStoreSystemUsageLimits(BrokerService.java:2202)[activemq-broker-5.15.2.jar:5.15.2]
> at 
> org.apache.activemq.broker.BrokerService.doStartBroker(BrokerService.java:777)[activemq-broker-5.15.2.jar:5.15.2]
> at 
> org.apache.activemq.broker.BrokerService.startBroker(BrokerService.java:733)[activemq-broker-5.15.2.jar:5.15.2]
> at 
> org.apache.activemq.broker.BrokerService.start(BrokerService.java:636)[activemq-broker-5.15.2.jar:5.15.2]
> at 
> org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:73)[activemq-spring-5.15.2.jar:5.15.2]
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_151]
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_151]
> :



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AMQ-7097) AMQP: Update Qpid JMS, Proton-J and Netty to latest releases

2018-11-14 Thread Timothy Bish (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686517#comment-16686517
 ] 

Timothy Bish commented on AMQ-7097:
---

This can wait until the next release as the JMS release is still a day or two 
away.

> AMQP: Update Qpid JMS, Proton-J and Netty to latest releases
> 
>
> Key: AMQ-7097
> URL: https://issues.apache.org/jira/browse/AMQ-7097
> Project: ActiveMQ
>  Issue Type: Task
>  Components: AMQP
>Affects Versions: 5.15.7
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Minor
> Fix For: 5.15.9
>
>
> Update AMQP libraries to latest
>  * Qpid JMS 0.38.0
>  * Proton-j 0.30.0
>  * Netty 4.1.31.Final



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Updated] (AMQ-7097) AMQP: Update Qpid JMS, Proton-J and Netty to latest releases

2018-11-14 Thread Timothy Bish (JIRA)


 [ 
https://issues.apache.org/jira/browse/AMQ-7097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy Bish updated AMQ-7097:
--
Fix Version/s: (was: 5.15.8)
   5.15.9

> AMQP: Update Qpid JMS, Proton-J and Netty to latest releases
> 
>
> Key: AMQ-7097
> URL: https://issues.apache.org/jira/browse/AMQ-7097
> Project: ActiveMQ
>  Issue Type: Task
>  Components: AMQP
>Affects Versions: 5.15.7
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Minor
> Fix For: 5.15.9
>
>
> Update AMQP libraries to latest
>  * Qpid JMS 0.38.0
>  * Proton-j 0.30.0
>  * Netty 4.1.31.Final



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AMQ-7087) Add Java 11 Support

2018-11-14 Thread Christopher L. Shannon (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7087?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686461#comment-16686461
 ] 

Christopher L. Shannon commented on AMQ-7087:
-

We need CXF version 3.3 to be released for our xsd generation: 
https://issues.apache.org/jira/browse/CXF-7852

I ran into code generation issues on JDK 11 but will be fixed in 3.3

> Add Java 11 Support
> ---
>
> Key: AMQ-7087
> URL: https://issues.apache.org/jira/browse/AMQ-7087
> Project: ActiveMQ
>  Issue Type: Improvement
>  Components: Broker
>Affects Versions: 5.15.6
> Environment: Windows 10 with the OpenJDK 11 "bin" directory on the 
> path.
>Reporter: Jeff Gullett
>Assignee: Christopher L. Shannon
>Priority: Critical
> Fix For: 5.16.0
>
>
> Java 8 support is ending in January, 2019 (in 2 months).  Currently, the 
> ActiveMQ Broker only supports Java 8.  When I try to start the broker using 
> Java 11 (the latest long-term-support version), I get the following error:
> Unable to execute Java command.  The system cannot find the file specified. 
> (0x2)
> Critical error: wait for JVM process failed
> Since both Java 9 and Java 10 are already EOL, support for Java 11 needs to 
> be added by January 2019.  The issue to add Java 9 support (AMQ-6864) is OBE, 
> and should be replaced by this issue.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (AMQ-7097) AMQP: Update Qpid JMS, Proton-J and Netty to latest releases

2018-11-14 Thread Christopher L. Shannon (JIRA)


[ 
https://issues.apache.org/jira/browse/AMQ-7097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686442#comment-16686442
 ] 

Christopher L. Shannon commented on AMQ-7097:
-

[~tabish121] - After you update these I will start the 5.15.8 release.

> AMQP: Update Qpid JMS, Proton-J and Netty to latest releases
> 
>
> Key: AMQ-7097
> URL: https://issues.apache.org/jira/browse/AMQ-7097
> Project: ActiveMQ
>  Issue Type: Task
>  Components: AMQP
>Affects Versions: 5.15.7
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Minor
> Fix For: 5.15.8
>
>
> Update AMQP libraries to latest
>  * Qpid JMS 0.38.0
>  * Proton-j 0.30.0
>  * Netty 4.1.31.Final



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Closed] (AMQ-7098) Need enhacement for the existing queue

2018-11-14 Thread Christopher L. Shannon (JIRA)


 [ 
https://issues.apache.org/jira/browse/AMQ-7098?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christopher L. Shannon closed AMQ-7098.
---
Resolution: Won't Fix

I am closing this for now as anything having to do with the webconsole is not 
going to be worked on as is mostly un-maintained at this point.  Also the 
description of the issue doesn't accurately reflect the issue and should be 
changed  if re-opened at some point.

Your best bet is to create a pull request if you want a feature for the 
webconsole and make sure it is generic enough to be included that it is helpful 
for others.  If you want to work on it yourself then you can re-open with a 
pull request.

> Need enhacement for the existing queue
> --
>
> Key: AMQ-7098
> URL: https://issues.apache.org/jira/browse/AMQ-7098
> Project: ActiveMQ
>  Issue Type: Improvement
>  Components: activemq-camel
>Affects Versions: 5.14.0
>Reporter: Bala Subramanyam Mangipudi
>Priority: Minor
> Attachments: Requirements.docx
>
>
> Please see the requirements document attached



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[jira] [Commented] (ARTEMIS-2174) Broker reconnect to another with scale down policy cause OOM

2018-11-14 Thread ASF GitHub Bot (JIRA)


[ 
https://issues.apache.org/jira/browse/ARTEMIS-2174?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16686389#comment-16686389
 ] 

ASF GitHub Bot commented on ARTEMIS-2174:
-

GitHub user gaohoward opened a pull request:

https://github.com/apache/activemq-artemis/pull/2430

ARTEMIS-2174 Broker reconnect cause OOM with scale down

When a node tries to reconnects to another node in a scale down cluster,
the reconnect request gets denied by the other node and keeps retrying,
which causes tasks in the ordered executor accumulate and eventually OOM.

The fix is to change the ActiveMQPacketHandler#handleCheckForFailover
to allow reconnect if the scale down node is the node itself.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/gaohoward/activemq-artemis e_2174

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/activemq-artemis/pull/2430.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 #2430


commit 2a108ac8817cb6c2ca3b29092108a3e35e7f5690
Author: Howard Gao 
Date:   2018-11-14T11:21:48Z

ARTEMIS-2174 Broker reconnect cause OOM with scale down

When a node tries to reconnects to another node in a scale down cluster,
the reconnect request gets denied by the other node and keeps retrying,
which causes tasks in the ordered executor accumulate and eventually OOM.

The fix is to change the ActiveMQPacketHandler#handleCheckForFailover
to allow reconnect if the scale down node is the node itself.




> Broker reconnect to another with scale down policy cause OOM
> 
>
> Key: ARTEMIS-2174
> URL: https://issues.apache.org/jira/browse/ARTEMIS-2174
> Project: ActiveMQ Artemis
>  Issue Type: Bug
>  Components: Broker
>Affects Versions: 2.6.3
>Reporter: Howard Gao
>Assignee: Howard Gao
>Priority: Major
> Fix For: 2.6.4
>
>
> When a node tries to reconnects to another node in a scale down cluster, the 
> reconnect request gets denied by the other node and keeps retrying, which 
> causes tasks in the ordered executor accumulate and eventually OOM.
> To reproduce:
>  # Start 2 nodes (node1 and 2) cluster configured in scale down mode.
>  # stop node2 and restart it.
>  # node1 will try to reconnect to node2 repeatedly and ever succeed.
>  # Inspect the connecting ClientSessionFactory (like adding log) and its 
> threadpool (closeExecutor an object of OrderedExecutor) keeps adding tasks to 
> its queue.
> Over the time the queue keeps ever growing, and will exhaust the heap memory.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)