Re: Artemis Roadmap

2017-12-11 Thread artnaseef
Thanks Bruce - I will look at this page shortly - I hope this week, but
should be no later than the end of next week.

Art




--
Sent from: http://activemq.2283324.n4.nabble.com/ActiveMQ-Dev-f2368404.html


[GitHub] activemq-artemis issue #1702: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread toddbaert
Github user toddbaert commented on the issue:

https://github.com/apache/activemq-artemis/pull/1702
  
Lol, very sorry. Typing too fast, out of excitement!

Thank YOU, @clebertsuconic :)


---


[GitHub] activemq-artemis issue #1702: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread clebertsuconic
Github user clebertsuconic commented on the issue:

https://github.com/apache/activemq-artemis/pull/1702
  
@toddbaert clambertus? :) 



---


[GitHub] activemq-artemis issue #1702: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread toddbaert
Github user toddbaert commented on the issue:

https://github.com/apache/activemq-artemis/pull/1702
  
@clambertus  :guitar: Opensource :guitar:  Thanks so much for your help! 
I've tested and all seems well now. 


---


[GitHub] activemq-artemis issue #1702: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread clebertsuconic
Github user clebertsuconic commented on the issue:

https://github.com/apache/activemq-artemis/pull/1702
  
@toddbaert just for future reference, as I told you on #1701 I made a 
mistake a reverted your fix by accident. this PR is fixing my accidental 
revert...

it should be done now.. thanks for contributing!!! Opensource rocks!


---


[GitHub] activemq-artemis pull request #1702: ARTEMIS-1542 - AMQP message cluster-bri...

2017-12-11 Thread asfgit
Github user asfgit closed the pull request at:

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


---


[GitHub] activemq-artemis issue #1701: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread toddbaert
Github user toddbaert commented on the issue:

https://github.com/apache/activemq-artemis/pull/1701
  
@clebertsuconic  a OK, I understand now. Thanks!


---


[GitHub] activemq-artemis issue #1701: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread clebertsuconic
Github user clebertsuconic commented on the issue:

https://github.com/apache/activemq-artemis/pull/1701
  
@toddbaert during my merge, I added an example... on that example.. I 
reverted your fix by accident... I didn't mean to setNull... sorry about that.

I will merge your PR as that should fix it.


---


[GitHub] activemq-artemis issue #1701: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread toddbaert
Github user toddbaert commented on the issue:

https://github.com/apache/activemq-artemis/pull/1701
  
I'm not sure I understand what you're referring to. Anyway, I hope that you 
can merge https://github.com/apache/activemq-artemis/pull/1702, as it is the 
main problem. If you have any concerns, let me know and I'll help however I 
can. You can produce the issue with my configuration and sample c# client on my 
original JIRA: https://issues.apache.org/jira/browse/ARTEMIS-1549

:smiley: 


---


[GitHub] activemq-artemis issue #1701: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread clebertsuconic
Github user clebertsuconic commented on the issue:

https://github.com/apache/activemq-artemis/pull/1701
  
@toddbaert it was an accident.. didn't mean it.


---


[GitHub] activemq-artemis issue #1701: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread toddbaert
Github user toddbaert commented on the issue:

https://github.com/apache/activemq-artemis/pull/1701
  
@clebertsuconic you also did not commit my proposed change to 
ClusterConnectionBridge.java, which is the heart of our issue.

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


---


[GitHub] activemq-artemis issue #1701: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread clebertsuconic
Github user clebertsuconic commented on the issue:

https://github.com/apache/activemq-artemis/pull/1701
  
@toddbaert  O... @#$@$!@@! (bad word goes here)... I screwed up...  I 
had a debug thingy that I committed as part of this 


---


[GitHub] activemq-artemis issue #1696: NO-JIRA fixed minor regression and broken test...

2017-12-11 Thread michaelandrepearce
Github user michaelandrepearce commented on the issue:

https://github.com/apache/activemq-artemis/pull/1696
  
@pgfox please do, I also didn’t check for checkstyle and all that stuff.


---


[GitHub] activemq-artemis issue #1702: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread toddbaert
Github user toddbaert commented on the issue:

https://github.com/apache/activemq-artemis/pull/1702
  
I am still seeing the issue. With the changes in this PR, the issue is 
resolved. Can you please look at the diff?

-  messageCopy = super.beforeForward(messageCopy, null);
+  messageCopy = super.beforeForward(messageCopy, forwardingAddress);

Why would we want to call super.beforeForward() with a null second arg? 
This is the source of the problem.


---


[GitHub] activemq-artemis issue #1702: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread clebertsuconic
Github user clebertsuconic commented on the issue:

https://github.com/apache/activemq-artemis/pull/1702
  
The address wasn’t set at the producer.  

The address would be reset at the target. 


---


[GitHub] activemq-artemis pull request #:

2017-12-11 Thread toddbaert
Github user toddbaert commented on the pull request:


https://github.com/apache/activemq-artemis/commit/64552367b2b9208500f0ab3581540e203a74caae#commitcomment-26192098
  
No, this doesn't address the problem. 

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


---


[GitHub] activemq-artemis issue #1702: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread toddbaert
Github user toddbaert commented on the issue:

https://github.com/apache/activemq-artemis/pull/1702
  
@clebertsuconic  @michaelandrepearce 

in ClusterConnectionBridge.beforeForward(Message message, SimpleString 
forwardingAddress), we call super.beforeForward(message, null). The is why we 
lose the address. This code path is executed when broker1 forwards an AMQP 
message to broker2. This is why we will only see this in a cluster, when a 
producer sends a message to broker1 and a consumer is listening on broker2.


---


[GitHub] activemq-artemis issue #1701: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread toddbaert
Github user toddbaert commented on the issue:

https://github.com/apache/activemq-artemis/pull/1701
  
@clebertsuconic @michaelandrepearce 

Guys - please see my messages above. The primary issue is that the 
forwarding address is set to null, as I described.. I was in the middle of an 
interactive rebase when you attempted to merge (which I've now completed). New 
PR is here: https://github.com/apache/activemq-artemis/pull/1702.


---


[GitHub] activemq-artemis pull request #1702: ARTEMIS-1542 - AMQP message cluster-bri...

2017-12-11 Thread toddbaert
GitHub user toddbaert opened a pull request:

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

ARTEMIS-1542 - AMQP message cluster-bridging fixi

Fixing and issue where AMQP messages would lose their address when being 
sent accross a cluster-bridge.

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

$ git pull https://github.com/toddbaert/activemq-artemis master

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

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


commit 61499244412c069c29a6fb093c9780368e1bdc15
Author: todd 
Date:   2017-12-11T16:17:57Z

ARTEMIS-1542 - AMQP message cluster-bridging fixi

Fixing and issue where AMQP messages would lose their address when being 
sent accross a cluster-bridge.




---


[GitHub] activemq-artemis issue #1701: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread toddbaert
Github user toddbaert commented on the issue:

https://github.com/apache/activemq-artemis/pull/1701
  
@clebertsuconic  I don't think you've address the issue. The address is set 
to null BY broker1 when it forwards the message to broker2. Please see 
ClusterConnectionBridge.beforeForward(Message message, SimpleString 
forwardingAddress), it call super.beforeForward(message, null), regardless of 
the forwarding message in the original call.



---


[GitHub] activemq-artemis issue #1701: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread clebertsuconic
Github user clebertsuconic commented on the issue:

https://github.com/apache/activemq-artemis/pull/1701
  
@toddbaert that was a problem only if message.address was null.. I didn't 
think a cpp producer would leave it null...

it should be fixed now.


---


[GitHub] activemq-artemis issue #1701: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread toddbaert
Github user toddbaert commented on the issue:

https://github.com/apache/activemq-artemis/pull/1701
  
@clebertsuconic @michaelandrepearce 

The problem seems to me to be pretty simple:

in ClusterConnectionBridge.beforeForward(Message message, SimpleString 
forwardingAddress), we call super.beforeForward(message, **null**). The is why 
we lose the address. This code path is executed when broker1 forwards an AMQP 
message to broker2. This is why we will only see this in a cluster, when a 
producer sends a message to broker1 and a consumer is listening on broker2.



---


[GitHub] activemq-artemis issue #1701: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread clebertsuconic
Github user clebertsuconic commented on the issue:

https://github.com/apache/activemq-artemis/pull/1701
  
@toddbaert thanks a lot.. merged it manually. let me know what you think.


---


[GitHub] activemq-artemis pull request #1701: ARTEMIS-1542 - AMQP message cluster-bri...

2017-12-11 Thread asfgit
Github user asfgit closed the pull request at:

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


---


[GitHub] activemq-artemis issue #1701: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread clebertsuconic
Github user clebertsuconic commented on the issue:

https://github.com/apache/activemq-artemis/pull/1701
  
@toddbaert leave this with me... merging it now


---


[GitHub] activemq-artemis issue #1701: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread clebertsuconic
Github user clebertsuconic commented on the issue:

https://github.com/apache/activemq-artemis/pull/1701
  
hmmm.. you've made some mess of your branch here.. I can't merge it...


I have an older version.. where I added an example based on yours...
I will merge that one... leave it with me


---


Re: Artemis client pinned to 1 of 2 brokers when attempting to connect

2017-12-11 Thread Arthur Naseef
I am looking to change the code, if necessary, to get this working.

I'll look for you on IRC; it may be easier to clarify that way.

On Sun, Dec 10, 2017 at 6:43 PM, Clebert Suconic 
wrote:

> I understand.  I thought you were proposing a code change.
>
> On Sun, Dec 10, 2017 at 8:13 PM Arthur Naseef  wrote:
>
> > Initial connect is where I'm seeing this now Clebert.  It can choose from
> > multiple nodes, but only sticks to one until the retries are exhausted.
> > However, I have unlimited retries, so the client is pinned.
> >
> > On Sun, Dec 10, 2017 at 7:44 AM, Clebert Suconic <
> > clebert.suco...@gmail.com>
> > wrote:
> >
> > > On Sat, Dec 9, 2017 at 11:02 PM Arthur Naseef  wrote:
> > >
> > > > Thanks Clebert.  Reconnect-at-any-node sounds very similar - the only
> > > real
> > > > difference is the "initial connection" versus reconnect.
> > > >
> > >
> > > Initial connect could always look at other nodes.
> > >
> > > >
> > > > In my mind, the desired operation is the same for initial connect
> > versus
> > > > reconnect.  Are you aware of a desire to do differently?
> > >
> > >
> > > We have a JIRA but failover is easy to mess up. There was something
> else
> > > with higher priority (Open wire, amqp,... etc etc)
> > >
> > >
> > >
> > >
> > > >
> > > > Art
> > > >
> > > >
> > > > On Sat, Dec 9, 2017 at 7:33 AM, Clebert Suconic <
> > > clebert.suco...@gmail.com
> > > > >
> > > > wrote:
> > > >
> > > > > There is a JIRA open in artemis.  Reconnect at any node.
> > > > >
> > > > > We could add a property as reconnect any node.  And make the change
> > you
> > > > > mentioned.
> > > > >
> > > > > That’s a different semantic between the two. I can dig for the jira
> > > later
> > > > > if you like. I am  Typing on the phone now.
> > > > >
> > > > > On Fri, Dec 8, 2017 at 4:01 PM Arthur Naseef 
> wrote:
> > > > >
> > > > > > Note that I'm doing much of this for the first time, and not
> > finding
> > > > > > examples on the website, so I expect there's a good chance I'm
> > > missing
> > > > > > something.
> > > > > >
> > > > > > Summary of the problem:
> > > > > >* Clients get pinned to a single broker url when attempting to
> > > > > connect,
> > > > > > when using infinite connect attempts.
> > > > > >
> > > > > > Background:
> > > > > > I'm attempting to setup the Artemis client in a way that will
> > get
> > > > > > parity with the AMQ 5.x failover transport's default operation
> > > (without
> > > > > > optional configuration settings) using static broker urls:
> > > > > >
> > > > > > * Client is configured with 2 (possibly more) broker URLs
> > > > > > * Brokers are configured to run active/passive
> > > > > > * All connection failures hidden from the client code; that
> is:
> > > > > > * Application blocks indefinitely on JMS operations when
> > > > > connection
> > > > > > to broker is down
> > > > > > * Application never gets an exception when the connection
> > to
> > > > the
> > > > > > broker is down
> > > > > > * Log messages recorded when connections lost and
> recreated
> > > > > >
> > > > > >
> > > > > > Artemis client setup:
> > > > > > import
> > > > > > org.apache.activemq.artemis.jms.client.
> ActiveMQConnectionFactory;
> > > > > >
> > > > > > ActiveMQConnectionFactory connectionFactory = new
> > > > > > ActiveMQConnectionFactory("broker-url:
> tcp://localhost:61616#tcp://
> > > > > > localhost:61617");
> > > > > >
> > > > > > connectionFactory.setInitialConnectAttempts(-1); //
> Inifinite
> > > > > > connectionFactory.setReconnectAttempts(-1); // Infinite
> > > > > > connectionFactory.setMaxRetryInterval(1000); // 1 second
> > > > > >
> > > > > >
> > > > > > Test steps:
> > > > > > * All brokers are SHUTDOWN
> > > > > > * Start the client
> > > > > > * Start either broker
> > > > > >
> > > > > >
> > > > > > Expected:
> > > > > > * Client reliably connects to the broker that starts, within
> > the
> > > > > > max-reconnect period
> > > > > >
> > > > > >
> > > > > > Actual:
> > > > > > * Client only connects sometimes; other times, it remains
> > > > > disconnected
> > > > > > indefinitely
> > > > > >
> > > > > >
> > > > > > Diagnosing:
> > > > > > * Using the debugger and reading the code, found the
> following
> > > key
> > > > > > points in the code:
> > > > > >
> > > > > > ServerLocatorImpl.java:771
> > > > > > TransportConfiguration tc = selectConnector();
> > > > > > ClientSessionFactoryImpl.java:1086
> > > > > > Connector liveConnector = createConnector(
> connectorFactory,
> > > > > > connectorConfig);
> > > > > > NettyConnector.java:575
> > > > > > * host and port
> > > > > >
> > > > > > * The host and port in the Netty Connector remain the same on
> > > every
> > > > > > call.  The retry logic is in ClientSessionFactoryImpl, which does
> > not
> > > > > have
> > > > > > access to 

[GitHub] activemq-artemis issue #1701: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread clebertsuconic
Github user clebertsuconic commented on the issue:

https://github.com/apache/activemq-artemis/pull/1701
  
@michaelandrepearce you need a producer and have a meessage with 
destination == null to make this happen.

the AMQP JMS client will set the destination on the producer.. what won't 
happen through the C++ client.


You would need to run the test with a C++ client.


The best would probably be to have an AMQP Example with clustered messages.


---


[GitHub] activemq-artemis issue #1696: NO-JIRA fixed minor regression and broken test...

2017-12-11 Thread pgfox
Github user pgfox commented on the issue:

https://github.com/apache/activemq-artemis/pull/1696
  
@michaelandrepearce  Thanks Mike, I updated the PR with your commit.  I 
will do a test run tonight on the new PR. 


---


[GitHub] activemq-artemis pull request #1688: ARTEMIS-1537 broker was less strict whi...

2017-12-11 Thread stanlyDoge
Github user stanlyDoge commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/1688#discussion_r156064778
  
--- Diff: 
artemis-server/src/main/java/org/apache/activemq/artemis/core/deployers/impl/FileConfigurationParser.java
 ---
@@ -253,9 +253,12 @@ public Configuration parseMainConfig(final InputStream 
input) throws Exception {
   String xml = XMLUtil.readerToString(reader);
   xml = XMLUtil.replaceSystemProps(xml);
   Element e = XMLUtil.stringToElement(xml);
-
+  NodeList children = e.getElementsByTagName("core");
--- End diff --

Ah, didn't know about this, sorry. Should be ok now.


---


[GitHub] activemq-artemis issue #1701: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread toddbaert
Github user toddbaert commented on the issue:

https://github.com/apache/activemq-artemis/pull/1701
  
@michaelandrepearce I'll add a test case and consolidate the commits. 


---


[GitHub] activemq-artemis pull request #1688: ARTEMIS-1537 broker was less strict whi...

2017-12-11 Thread michaelandrepearce
Github user michaelandrepearce commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/1688#discussion_r156030409
  
--- Diff: 
artemis-server/src/main/java/org/apache/activemq/artemis/core/deployers/impl/FileConfigurationParser.java
 ---
@@ -253,9 +253,12 @@ public Configuration parseMainConfig(final InputStream 
input) throws Exception {
   String xml = XMLUtil.readerToString(reader);
   xml = XMLUtil.replaceSystemProps(xml);
   Element e = XMLUtil.stringToElement(xml);
-
+  NodeList children = e.getElementsByTagName("core");
--- End diff --


https://github.com/apache/activemq-artemis/blob/master/artemis-server/src/main/resources/schema/artemis-server.xsd
 it does.


---


[GitHub] activemq-artemis pull request #1688: ARTEMIS-1537 broker was less strict whi...

2017-12-11 Thread stanlyDoge
Github user stanlyDoge commented on a diff in the pull request:

https://github.com/apache/activemq-artemis/pull/1688#discussion_r156024601
  
--- Diff: 
artemis-server/src/main/java/org/apache/activemq/artemis/core/deployers/impl/FileConfigurationParser.java
 ---
@@ -253,9 +253,12 @@ public Configuration parseMainConfig(final InputStream 
input) throws Exception {
   String xml = XMLUtil.readerToString(reader);
   xml = XMLUtil.replaceSystemProps(xml);
   Element e = XMLUtil.stringToElement(xml);
-
+  NodeList children = e.getElementsByTagName("core");
--- End diff --

Hmm, after another investigation I am not sure if this is possible with 
current XSD schema. It does not contain 'configuration' element, so it cannot 
be checked this way. There are two solutions - modify XSD schema to contain 
missing element or use my solution, where I am getting first child of 
'configuration', which is 'core'.


---


[GitHub] activemq-artemis issue #1701: ARTEMIS-1542 - AMQP message cluster-bridging f...

2017-12-11 Thread michaelandrepearce
Github user michaelandrepearce commented on the issue:

https://github.com/apache/activemq-artemis/pull/1701
  
@toddbaert is there a test case for this to be added, to both prove fix, 
and avoid future regression?

Also could you squash up your commits into one, once test is added. Thanks.


---