[jira] [Created] (QPIDJMS-396) Performance improvements for inter-thread event signalling

2018-06-25 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-396:


 Summary: Performance improvements for inter-thread event 
signalling 
 Key: QPIDJMS-396
 URL: https://issues.apache.org/jira/browse/QPIDJMS-396
 Project: Qpid JMS
  Issue Type: Improvement
  Components: qpid-jms-client
Affects Versions: 0.33.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: 0.34.0


Improve the ability to detect and respond to event completions of requests 
being handled by different threads within the client without incurring the 
overhead of signals and wait completions.  



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (QPIDJMS-395) connection:forced leads to JMSException even though reconnect is enabled

2018-06-19 Thread Timothy Bish (JIRA)


[ 
https://issues.apache.org/jira/browse/QPIDJMS-395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16517277#comment-16517277
 ] 

Timothy Bish commented on QPIDJMS-395:
--

Would you not be testing for 
[JMSSecurityException|https://docs.oracle.com/javaee/7/api/javax/jms/JMSSecurityException.html]
 in that case?

> connection:forced leads to JMSException even though reconnect is enabled
> 
>
> Key: QPIDJMS-395
> URL: https://issues.apache.org/jira/browse/QPIDJMS-395
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.33.0
>Reporter: Jiri Daněk
>Priority: Major
>
> Based on 
> http://qpid.2158936.n2.nabble.com/Reconnect-and-amqp-connection-forced-td7659043.html,
>  I believe that reconnect:force error should not be propagated to library 
> user and the library should silently reconnect. This does not happen in the 
> test below, when I am sending messages fast--I do get exception caused by 
> connection:forced. Notice the commented out sleep() call.
> In ActiveMQ Artemis testsuite:
> {noformat}
> diff --git 
> a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpFailoverEndpointDiscoveryTest.java
>  
> b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpFailoverEndpointDiscoveryTest.java
> index 81c28855ef..888171227b 100644
> --- 
> a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpFailoverEndpointDiscoveryTest.java
> +++ 
> b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpFailoverEndpointDiscoveryTest.java
> @@ -86,6 +86,32 @@ public class AmqpFailoverEndpointDiscoveryTest extends 
> FailoverTestBase {
>}
> }
>  
> +   @Test(timeout = 12)
> +   public void testReconnectWhileSendingWithAMQP() throws Exception {
> +  JmsConnectionFactory factory = getJmsConnectionFactory();
> +  try (Connection connection = factory.createConnection()) {
> + connection.start();
> + Session session = connection.createSession(false, 
> Session.AUTO_ACKNOWLEDGE);
> + javax.jms.Queue queue = session.createQueue(ADDRESS.toString());
> + MessageProducer producer = session.createProducer(queue);
> + Thread t = new Thread(() -> {
> +try {
> +   while(true) {
> +  System.out.println("sending message");
> +  producer.send(session.createTextMessage("hello before 
> failover"));
> +//  Thread.sleep(1000);  // comment out to send messages 
> quickly
> +   }
> +} catch (Exception e ) {
> +   e.printStackTrace();
> +}
> + });
> + t.start();
> + Thread.sleep(2000);  // simpler to read than actual synchronization
> + liveServer.crash(true, true);
> + Thread.sleep(2000);
> +  }
> +   }
> +
> private JmsConnectionFactory getJmsConnectionFactory() {
>if (protocol == 0) {
>   return new 
> JmsConnectionFactory("failover:(amqp://localhost:61616)");
> {noformat}
> The above will print (only print, there aren't asserts)
> {noformat}
> javax.jms.JMSException: Received error from remote peer without description 
> [condition = amqp:connection:forced]
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:164)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:117)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpAbstractResource.processRemoteClose(AmqpAbstractResource.java:262)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.processUpdates(AmqpProvider.java:971)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.access$1900(AmqpProvider.java:105)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider$17.run(AmqpProvider.java:854)
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>   at java.lang.Thread.run(Thread.java:748)
> {noformat}
> The PN_TRACE_FRM log for this is
> {noformat}
> [...]
> [1476077082:1] -> Transfer{handle=0, deliveryId=221, deliveryTag=\x00, 
> messageFormat=0, settled=null, more=false, 

[jira] [Commented] (QPIDJMS-395) connection:forced leads to JMSException even though reconnect is enabled

2018-06-19 Thread Timothy Bish (JIRA)


[ 
https://issues.apache.org/jira/browse/QPIDJMS-395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16517273#comment-16517273
 ] 

Timothy Bish commented on QPIDJMS-395:
--

Having a JMS client specific exception would mean that those using it are now 
tied to that client implementation.  The other question I'd ask would be, what 
exception that is thrown from send would indicate that a resend wasn't needed? 

> connection:forced leads to JMSException even though reconnect is enabled
> 
>
> Key: QPIDJMS-395
> URL: https://issues.apache.org/jira/browse/QPIDJMS-395
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.33.0
>Reporter: Jiri Daněk
>Priority: Major
>
> Based on 
> http://qpid.2158936.n2.nabble.com/Reconnect-and-amqp-connection-forced-td7659043.html,
>  I believe that reconnect:force error should not be propagated to library 
> user and the library should silently reconnect. This does not happen in the 
> test below, when I am sending messages fast--I do get exception caused by 
> connection:forced. Notice the commented out sleep() call.
> In ActiveMQ Artemis testsuite:
> {noformat}
> diff --git 
> a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpFailoverEndpointDiscoveryTest.java
>  
> b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpFailoverEndpointDiscoveryTest.java
> index 81c28855ef..888171227b 100644
> --- 
> a/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpFailoverEndpointDiscoveryTest.java
> +++ 
> b/tests/integration-tests/src/test/java/org/apache/activemq/artemis/tests/integration/amqp/AmqpFailoverEndpointDiscoveryTest.java
> @@ -86,6 +86,32 @@ public class AmqpFailoverEndpointDiscoveryTest extends 
> FailoverTestBase {
>}
> }
>  
> +   @Test(timeout = 12)
> +   public void testReconnectWhileSendingWithAMQP() throws Exception {
> +  JmsConnectionFactory factory = getJmsConnectionFactory();
> +  try (Connection connection = factory.createConnection()) {
> + connection.start();
> + Session session = connection.createSession(false, 
> Session.AUTO_ACKNOWLEDGE);
> + javax.jms.Queue queue = session.createQueue(ADDRESS.toString());
> + MessageProducer producer = session.createProducer(queue);
> + Thread t = new Thread(() -> {
> +try {
> +   while(true) {
> +  System.out.println("sending message");
> +  producer.send(session.createTextMessage("hello before 
> failover"));
> +//  Thread.sleep(1000);  // comment out to send messages 
> quickly
> +   }
> +} catch (Exception e ) {
> +   e.printStackTrace();
> +}
> + });
> + t.start();
> + Thread.sleep(2000);  // simpler to read than actual synchronization
> + liveServer.crash(true, true);
> + Thread.sleep(2000);
> +  }
> +   }
> +
> private JmsConnectionFactory getJmsConnectionFactory() {
>if (protocol == 0) {
>   return new 
> JmsConnectionFactory("failover:(amqp://localhost:61616)");
> {noformat}
> The above will print (only print, there aren't asserts)
> {noformat}
> javax.jms.JMSException: Received error from remote peer without description 
> [condition = amqp:connection:forced]
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:164)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:117)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpAbstractResource.processRemoteClose(AmqpAbstractResource.java:262)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.processUpdates(AmqpProvider.java:971)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.access$1900(AmqpProvider.java:105)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider$17.run(AmqpProvider.java:854)
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>   at java.lang.Thread.run(Thread.java:748)
> {noformat}
> The PN_TRACE_FRM log for this is
> {noformat}
> [...]
> [1476077082:1] -> 

[jira] [Resolved] (QPIDJMS-394) Completion Listener singaled in error when send blocked waiting for failover

2018-06-12 Thread Timothy Bish (JIRA)


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

Timothy Bish resolved QPIDJMS-394.
--
Resolution: Fixed

> Completion Listener singaled in error when send blocked waiting for failover
> 
>
> Key: QPIDJMS-394
> URL: https://issues.apache.org/jira/browse/QPIDJMS-394
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.33.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Major
> Fix For: 0.34.0
>
>
> If a send is issued using a completion listener and it blocks waiting for 
> credit or just happens to land in the Failover provider at the right moment 
> during connection loss the send will be held in the failover provider and 
> reissued on reconnect.  During reconnection processing inflight async 
> completion sends are failed as their state is not recoverable and this can 
> lead to a signal of failed send to the blocked completion send attempt in 
> error. 



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPIDJMS-394) Completion Listener singaled in error when send blocked waiting for failover

2018-06-12 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-394:


 Summary: Completion Listener singaled in error when send blocked 
waiting for failover
 Key: QPIDJMS-394
 URL: https://issues.apache.org/jira/browse/QPIDJMS-394
 Project: Qpid JMS
  Issue Type: Bug
  Components: qpid-jms-client
Affects Versions: 0.33.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: 0.34.0


If a send is issued using a completion listener and it blocks waiting for 
credit or just happens to land in the Failover provider at the right moment 
during connection loss the send will be held in the failover provider and 
reissued on reconnect.  During reconnection processing inflight async 
completion sends are failed as their state is not recoverable and this can lead 
to a signal of failed send to the blocked completion send attempt in error. 



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-393) Async Completion sends not signaled when sent while TX is in doubt

2018-06-12 Thread Timothy Bish (JIRA)


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

Timothy Bish resolved QPIDJMS-393.
--
Resolution: Fixed

> Async Completion sends not signaled when sent while TX is in doubt
> --
>
> Key: QPIDJMS-393
> URL: https://issues.apache.org/jira/browse/QPIDJMS-393
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.33.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Major
> Fix For: 0.34.0
>
>
> After a failover occurs while an active TX is in play the TX will be placed 
> in an in-doubt state and all sends that are made prior to a commit or 
> rollback will be effectively turned into a no-op.  If however an async 
> completion send is done the code does not signal the onCompletion event of 
> the given CompletionListener. 



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPIDJMS-393) Async Completion sends not signaled when sent while TX is in doubt

2018-06-12 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-393:


 Summary: Async Completion sends not signaled when sent while TX is 
in doubt
 Key: QPIDJMS-393
 URL: https://issues.apache.org/jira/browse/QPIDJMS-393
 Project: Qpid JMS
  Issue Type: Bug
  Components: qpid-jms-client
Affects Versions: 0.33.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: 0.34.0


After a failover occurs while an active TX is in play the TX will be placed in 
an in-doubt state and all sends that are made prior to a commit or rollback 
will be effectively turned into a no-op.  If however an async completion send 
is done the code does not signal the onCompletion event of the given 
CompletionListener. 



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Updated] (QPIDJMS-391) Add support for SSL provider netty-tcnative-boringssl-static

2018-06-08 Thread Timothy Bish (JIRA)


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

Timothy Bish updated QPIDJMS-391:
-
Priority: Minor  (was: Major)

> Add support for SSL provider netty-tcnative-boringssl-static
> 
>
> Key: QPIDJMS-391
> URL: https://issues.apache.org/jira/browse/QPIDJMS-391
> Project: Qpid JMS
>  Issue Type: New Feature
>  Components: qpid-jms-client
>Reporter: Johan Stenberg
>Priority: Minor
>
> It would be great to have an option to use netty-tcnative-boringssl-static 
> instead of the java based SSL provider. In the ActiveMQ Artemis this was 
> implemented as part of  https://issues.apache.org/jira/browse/ARTEMIS-1649



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPIDJMS-390) Use Atomic Field Updater for case where we create many AtomicBoolean instances

2018-06-08 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-390:


 Summary: Use Atomic Field Updater for case where we create many 
AtomicBoolean instances
 Key: QPIDJMS-390
 URL: https://issues.apache.org/jira/browse/QPIDJMS-390
 Project: Qpid JMS
  Issue Type: Improvement
Affects Versions: 0.32.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: 0.33.0


Use an Atomic field updater for the future we use for most provider operations 
as opposed to creating an AtomicBoolean for each instance of the the future 
class.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-389) JMS 2.0 Async CompletionListener can be notified in error

2018-06-07 Thread Timothy Bish (JIRA)


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

Timothy Bish resolved QPIDJMS-389.
--
Resolution: Fixed

> JMS 2.0 Async CompletionListener can be notified in error
> -
>
> Key: QPIDJMS-389
> URL: https://issues.apache.org/jira/browse/QPIDJMS-389
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.32.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Major
> Fix For: 0.33.0
>
>
> If two producers are created for a single session and one producer is used to 
> send a message using an CompletionListener and the other producer happens to 
> be remotely closed the sent message CompletionListener will be notified of 
> completion in error if it hadn't already completed.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPIDJMS-389) JMS 2.0 Async CompletionListener can be notified in error

2018-06-07 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-389:


 Summary: JMS 2.0 Async CompletionListener can be notified in error
 Key: QPIDJMS-389
 URL: https://issues.apache.org/jira/browse/QPIDJMS-389
 Project: Qpid JMS
  Issue Type: Bug
  Components: qpid-jms-client
Affects Versions: 0.32.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: 0.33.0


If two producers are created for a single session and one producer is used to 
send a message using an CompletionListener and the other producer happens to be 
remotely closed the sent message CompletionListener will be notified of 
completion in error if it hadn't already completed.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Assigned] (QPIDJMS-386) failover provider prevents handling of remote resource closure from completing correctly

2018-06-06 Thread Timothy Bish (JIRA)


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

Timothy Bish reassigned QPIDJMS-386:


Assignee: Timothy Bish  (was: Robbie Gemmell)

> failover provider prevents handling of remote resource closure from 
> completing correctly
> 
>
> Key: QPIDJMS-386
> URL: https://issues.apache.org/jira/browse/QPIDJMS-386
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.32.0
> Environment:  
>Reporter: Robbie Gemmell
>Assignee: Timothy Bish
>Priority: Major
> Fix For: 0.33.0
>
>
> QPIDJMS-376 added functionality to fire the connection ExceptionListener if a 
> MessageConsumer with a MessageListener is remotely closed, since the lack of 
> future message deliveries would mean the application has no further 
> interaction with the consumer to observe the issue. It has since been 
> identified that this doesn't occur when using the built in failover provider, 
> which is preventing the process of handling the remote consumer resource 
> closure from completing fully.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Updated] (QPIDJMS-388) Unhandled RuntimeException in MessageListener#onMessage does not increment AMQP delivery count in AUTO_ACK

2018-06-04 Thread Timothy Bish (JIRA)


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

Timothy Bish updated QPIDJMS-388:
-
Priority: Minor  (was: Major)

> Unhandled RuntimeException in MessageListener#onMessage does not increment 
> AMQP delivery count in AUTO_ACK
> --
>
> Key: QPIDJMS-388
> URL: https://issues.apache.org/jira/browse/QPIDJMS-388
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.32.0
>Reporter: Johan Stenberg
>Priority: Minor
> Attachments: QpidJms388_RuntimeExectionInOnMessageTest.java
>
>
> The JMS spec states: "The result of a listener throwing a RuntimeException 
> depends on the session's acknowledgment mode. AUTO_ACKNOWLEDGE or 
> DUPS_OK_ACKNOWLEDGE: the message will be immediately redelivered. ... The 
> 'JMSRedelivered' message header field will be set, and the 
> 'JMSXDeliveryCount' message property incremented, for a message  redelivered 
> under these circumstances." 
> Currently qpid-jms however is not incrementing the deliveryCount or setting 
> the redelivered message header to true when a listener throws a 
> runtimeexception while in AUTO_ACK.
> This results in "jms.redeliveryPolicy.maxRedeliveries" being ignored and 
> endless redelivery attempts.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-387) Update Netty to 4-1-25-Final and ActiveMQ 5.15.4

2018-06-04 Thread Timothy Bish (JIRA)


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

Timothy Bish resolved QPIDJMS-387.
--
Resolution: Fixed

>  Update Netty to 4-1-25-Final and ActiveMQ 5.15.4
> -
>
> Key: QPIDJMS-387
> URL: https://issues.apache.org/jira/browse/QPIDJMS-387
> Project: Qpid JMS
>  Issue Type: Task
>  Components: qpid-jms-client
>Affects Versions: 0.32.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Trivial
> Fix For: 0.33.0
>
>
> Update Netty to latest release 4.1.25.Final and update ActiveMQ 5.15.4 
> release in the test suite.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPIDJMS-387) Update Netty to 4-1-25-Final and ActiveMQ 5.15.4

2018-06-04 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-387:


 Summary:  Update Netty to 4-1-25-Final and ActiveMQ 5.15.4
 Key: QPIDJMS-387
 URL: https://issues.apache.org/jira/browse/QPIDJMS-387
 Project: Qpid JMS
  Issue Type: Task
  Components: qpid-jms-client
Affects Versions: 0.32.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: 0.33.0


Update Netty to latest release 4.1.25.Final and update ActiveMQ 5.15.4 release 
in the test suite.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-378) Update Netty to latest 4.1.24.Final

2018-04-25 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-378.
--
Resolution: Fixed

> Update Netty to latest 4.1.24.Final
> ---
>
> Key: QPIDJMS-378
> URL: https://issues.apache.org/jira/browse/QPIDJMS-378
> Project: Qpid JMS
>  Issue Type: Task
>Affects Versions: 0.31.0
>Reporter: Timothy Bish
>Assignee: Robbie Gemmell
>Priority: Minor
> Fix For: 0.32.0
>
>
> Update netty to latest release



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-380) Implement ConnectionConsumer to enable use in resource adapters

2018-04-25 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-380.
--
Resolution: Fixed

> Implement ConnectionConsumer to enable use in resource adapters
> ---
>
> Key: QPIDJMS-380
> URL: https://issues.apache.org/jira/browse/QPIDJMS-380
> Project: Qpid JMS
>  Issue Type: Improvement
>Affects Versions: 0.31.0
>Reporter: Justin Ross
>Assignee: Timothy Bish
>Priority: Major
> Fix For: 0.32.0
>
>




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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-384) Add support for user user defined extensions to override client configuration

2018-04-25 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-384.
--
Resolution: Fixed

> Add support for user user defined extensions to override client configuration
> -
>
> Key: QPIDJMS-384
> URL: https://issues.apache.org/jira/browse/QPIDJMS-384
> Project: Qpid JMS
>  Issue Type: Improvement
>  Components: qpid-jms-client
>Affects Versions: 0.31.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Major
> Fix For: 0.32.0
>
>
> Implement a means of injecting user defined configuration overrides that 
> allow the client to query user code to obtain various configuration values 
> such as HTTP headers for WebSocket authentication of per connection login 
> credentials in failover scenarios. 



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (QPIDJMS-373) Support for OAuth flow and setting of "Authorization" Header for WS upgrade request

2018-04-25 Thread Timothy Bish (JIRA)

[ 
https://issues.apache.org/jira/browse/QPIDJMS-373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16452710#comment-16452710
 ] 

Timothy Bish commented on QPIDJMS-373:
--

You can now add callbacks that will be executed on each connection via 
QPIDJMS-384 which allows for this sort of thing.  The HTTP Headers used on WS 
handshaking can be updated now and an example is added in this [test 
case.|https://github.com/apache/qpid-jms/blob/master/qpid-jms-client/src/test/java/org/apache/qpid/jms/transports/netty/NettyTcpToMockServerTest.java#L303]

 

 

> Support for OAuth flow and setting of "Authorization" Header for WS upgrade 
> request
> ---
>
> Key: QPIDJMS-373
> URL: https://issues.apache.org/jira/browse/QPIDJMS-373
> Project: Qpid JMS
>  Issue Type: New Feature
>  Components: qpid-jms-client
>Reporter: Michael Bolz
>Priority: Major
>
> Add support for OAuth flow ("client_credentials" and "password") (-and 
> setting of "Authorization" Header- moved into 
> [QPIDJMS-375|https://issues.apache.org/jira/browse/QPIDJMS-375]) during 
> WebSocket connection handshake.
> -Used "Authorization" Header or OAuth settings should/could be set via the 
> "transport" parameters (TransportOptions).- (see above)
>  
> As PoC I created a [Fork|https://github.com/mibo/qpid-jms/tree/ws_add_header] 
> and have done one commit for the [add of the Authorization 
> Header|https://github.com/mibo/qpid-jms/commit/711052f0891556db0da6e7d68908b2f9dafadede]
>  and one commit for the [OAuth 
> flow|https://github.com/mibo/qpid-jms/commit/de70f0d3e4441358a239b3e776455201c133895d].
>  
> Hope this feature is not only interesting for me.
> If yes, I will add the currently missing tests to my contribution and do a 
> pull request.
>  
> Regards, Michael



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-375) Enable setting of an "Authorization" Header during WebSocket connection handshake.

2018-04-25 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-375.
--
   Resolution: Fixed
 Assignee: Timothy Bish
Fix Version/s: 0.32.0

QPIDJMS-384 Adds features that allow for this by using URI configuration or by 
injecting a callback function that provides the HTTP headers to the WS 
Transport.

The URI can be configured via options such as 
"transport.ws.httpHeader.Authorization=FOO"

> Enable setting of an "Authorization" Header during WebSocket connection 
> handshake.
> --
>
> Key: QPIDJMS-375
> URL: https://issues.apache.org/jira/browse/QPIDJMS-375
> Project: Qpid JMS
>  Issue Type: New Feature
>  Components: qpid-jms-client
>Reporter: Michael Bolz
>Assignee: Timothy Bish
>Priority: Major
> Fix For: 0.32.0
>
>
> Add support for setting of an "Authorization" Header during WebSocket 
> connection handshake.
> This "Authorization" Header will be passed via the "transport" parameters 
> (TransportOptions).
> Proposed transport is {{transport.ws.authorizationHeader}}.
> According "[Pull Request|https://github.com/apache/qpid-jms/pull/18];



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPIDJMS-384) Add support for user user defined extensions to override client configuration

2018-04-25 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-384:


 Summary: Add support for user user defined extensions to override 
client configuration
 Key: QPIDJMS-384
 URL: https://issues.apache.org/jira/browse/QPIDJMS-384
 Project: Qpid JMS
  Issue Type: Improvement
  Components: qpid-jms-client
Affects Versions: 0.31.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: 0.32.0


Implement a means of injecting user defined configuration overrides that allow 
the client to query user code to obtain various configuration values such as 
HTTP headers for WebSocket authentication of per connection login credentials 
in failover scenarios. 



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-383) Utilize new proton-j APIs to eleminate coping delivery buffers

2018-04-23 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-383.
--
Resolution: Fixed

> Utilize new proton-j APIs to eleminate coping delivery buffers
> --
>
> Key: QPIDJMS-383
> URL: https://issues.apache.org/jira/browse/QPIDJMS-383
> Project: Qpid JMS
>  Issue Type: Improvement
>  Components: qpid-jms-client
>Affects Versions: 0.31.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Major
> Fix For: 0.32.0
>
>
> Using newer send and receive APIs in proton-j 0.27.0 we can eliminate a copy 
> of the delivery bytes on both the send and receive side of delivery 
> processing.
>  



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPIDJMS-383) Utilize new proton-j APIs to eleminate coping delivery buffers

2018-04-23 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-383:


 Summary: Utilize new proton-j APIs to eleminate coping delivery 
buffers
 Key: QPIDJMS-383
 URL: https://issues.apache.org/jira/browse/QPIDJMS-383
 Project: Qpid JMS
  Issue Type: Improvement
  Components: qpid-jms-client
Affects Versions: 0.31.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: 0.32.0


Using newer send and receive APIs in proton-j 0.27.0 we can eliminate a copy of 
the delivery bytes on both the send and receive side of delivery processing.

 



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Updated] (QPIDJMS-380) Implement ConnectionConsumer to enable use in resource adapters

2018-04-20 Thread Timothy Bish (JIRA)

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

Timothy Bish updated QPIDJMS-380:
-
Fix Version/s: 0.32.0

> Implement ConnectionConsumer to enable use in resource adapters
> ---
>
> Key: QPIDJMS-380
> URL: https://issues.apache.org/jira/browse/QPIDJMS-380
> Project: Qpid JMS
>  Issue Type: Improvement
>Affects Versions: 0.31.0
>Reporter: Justin Ross
>Priority: Major
> Fix For: 0.32.0
>
>




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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Updated] (QPIDJMS-380) Implement ConnectionConsumer to enable use in resource adapters

2018-04-20 Thread Timothy Bish (JIRA)

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

Timothy Bish updated QPIDJMS-380:
-
Affects Version/s: 0.31.0

> Implement ConnectionConsumer to enable use in resource adapters
> ---
>
> Key: QPIDJMS-380
> URL: https://issues.apache.org/jira/browse/QPIDJMS-380
> Project: Qpid JMS
>  Issue Type: Improvement
>Affects Versions: 0.31.0
>Reporter: Justin Ross
>Priority: Major
> Fix For: 0.32.0
>
>




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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Assigned] (QPIDJMS-380) Implement ConnectionConsumer to enable use in resource adapters

2018-04-20 Thread Timothy Bish (JIRA)

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

Timothy Bish reassigned QPIDJMS-380:


Assignee: Timothy Bish

> Implement ConnectionConsumer to enable use in resource adapters
> ---
>
> Key: QPIDJMS-380
> URL: https://issues.apache.org/jira/browse/QPIDJMS-380
> Project: Qpid JMS
>  Issue Type: Improvement
>Affects Versions: 0.31.0
>Reporter: Justin Ross
>Assignee: Timothy Bish
>Priority: Major
> Fix For: 0.32.0
>
>




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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-379) Reduce garbage create on input from transport

2018-04-17 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-379.
--
Resolution: Fixed

> Reduce garbage create on input from transport
> -
>
> Key: QPIDJMS-379
> URL: https://issues.apache.org/jira/browse/QPIDJMS-379
> Project: Qpid JMS
>  Issue Type: Improvement
>  Components: qpid-jms-client
>Affects Versions: 0.31.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Major
> Fix For: 0.32.0
>
>
> The input processor can be simplified to reduce temporary objects create on 
> incoming bytes processing.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPIDJMS-379) Reduce garbage create on input from transport

2018-04-17 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-379:


 Summary: Reduce garbage create on input from transport
 Key: QPIDJMS-379
 URL: https://issues.apache.org/jira/browse/QPIDJMS-379
 Project: Qpid JMS
  Issue Type: Improvement
  Components: qpid-jms-client
Affects Versions: 0.31.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: 0.32.0


The input processor can be simplified to reduce temporary objects create on 
incoming bytes processing.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Updated] (QPIDJMS-378) Update Netty to latest 4.1.23.Final

2018-04-13 Thread Timothy Bish (JIRA)

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

Timothy Bish updated QPIDJMS-378:
-
Affects Version/s: 0.31.0

> Update Netty to latest 4.1.23.Final
> ---
>
> Key: QPIDJMS-378
> URL: https://issues.apache.org/jira/browse/QPIDJMS-378
> Project: Qpid JMS
>  Issue Type: Task
>Affects Versions: 0.31.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Minor
> Fix For: 0.32.0
>
>
> Update netty to latest release



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-378) Update Netty to latest 4.1.23.Final

2018-04-13 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-378.
--
   Resolution: Fixed
 Assignee: Timothy Bish
Fix Version/s: 0.32.0

> Update Netty to latest 4.1.23.Final
> ---
>
> Key: QPIDJMS-378
> URL: https://issues.apache.org/jira/browse/QPIDJMS-378
> Project: Qpid JMS
>  Issue Type: Task
>Affects Versions: 0.31.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Minor
> Fix For: 0.32.0
>
>
> Update netty to latest release



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPIDJMS-378) Update Netty to latest 4.1.23.Final

2018-04-13 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-378:


 Summary: Update Netty to latest 4.1.23.Final
 Key: QPIDJMS-378
 URL: https://issues.apache.org/jira/browse/QPIDJMS-378
 Project: Qpid JMS
  Issue Type: Task
Reporter: Timothy Bish


Update netty to latest release



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-377) Update testing dependencies (ActiveMQ, MiniKDC and Mockito)

2018-04-11 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-377.
--
Resolution: Fixed

> Update testing dependencies (ActiveMQ, MiniKDC and Mockito)
> ---
>
> Key: QPIDJMS-377
> URL: https://issues.apache.org/jira/browse/QPIDJMS-377
> Project: Qpid JMS
>  Issue Type: Task
>  Components: qpid-jms-client
>Affects Versions: 0.31.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Trivial
> Fix For: 0.32.0
>
>
> Update test dependencies to latest versions



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPIDJMS-377) Update testing dependencies (ActiveMQ, MiniKDC and Mockito)

2018-04-11 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-377:


 Summary: Update testing dependencies (ActiveMQ, MiniKDC and 
Mockito)
 Key: QPIDJMS-377
 URL: https://issues.apache.org/jira/browse/QPIDJMS-377
 Project: Qpid JMS
  Issue Type: Task
  Components: qpid-jms-client
Affects Versions: 0.31.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: 0.32.0


Update test dependencies to latest versions



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Closed] (PROTON-1410) Move MessageImpl::TLS to an utility class

2018-04-11 Thread Timothy Bish (JIRA)

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

Timothy Bish closed PROTON-1410.

Resolution: Won't Fix

> Move MessageImpl::TLS to an utility class
> -
>
> Key: PROTON-1410
> URL: https://issues.apache.org/jira/browse/PROTON-1410
> Project: Qpid Proton
>  Issue Type: Improvement
>  Components: proton-j
>Reporter: clebert suconic
>Priority: Major
>
> I have a need to create a special Message on Artemis, that will only parse 
> the Header and send everything else as a byte array.
> Instead of duplicating the TLS logic, I would like to move this to its own 
> class so it could be reused.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (PROTON-1672) Large deliveries comprising many transfers are handled inefficiently

2018-04-11 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved PROTON-1672.
--
Resolution: Fixed

> Large deliveries comprising many transfers are handled inefficiently
> 
>
> Key: PROTON-1672
> URL: https://issues.apache.org/jira/browse/PROTON-1672
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-j
>Affects Versions: proton-j-0.23.0
>Reporter: Keith Wall
>Assignee: Timothy Bish
>Priority: Major
> Fix For: proton-j-0.27.0
>
> Attachments: JProfiler_PROTON-1672.tiff
>
>
> Running performance tests using Qpid Broker J and Qpid JMS Client (0.26.0) 
> shows that receipt of large messages is very slow in comparison with the send 
> of the same message.   For instance, sending 300MiB bytes message takes 5 
> seconds on my laptop.  The receipt takes 97 seconds.
> Instrumenting the client stack shows an obvious hot-spot in Proton-J.  
> {{org.apache.qpid.proton.engine.impl.TransportSession#handleTransfer}} 
> re-allocates/array copies the entire delivery buffer for ever transfer that 
> comprises it.  This leads to a non-linear loss of performance.   The stack 
> include Proton-J 0.23.0, but is looks like this code is unchanged.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Updated] (PROTON-1672) Large deliveries comprising many transfers are handled inefficiently

2018-04-11 Thread Timothy Bish (JIRA)

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

Timothy Bish updated PROTON-1672:
-
Fix Version/s: proton-j-0.27.0

> Large deliveries comprising many transfers are handled inefficiently
> 
>
> Key: PROTON-1672
> URL: https://issues.apache.org/jira/browse/PROTON-1672
> Project: Qpid Proton
>  Issue Type: Bug
>  Components: proton-j
>Affects Versions: proton-j-0.23.0
>Reporter: Keith Wall
>Assignee: Timothy Bish
>Priority: Major
> Fix For: proton-j-0.27.0
>
> Attachments: JProfiler_PROTON-1672.tiff
>
>
> Running performance tests using Qpid Broker J and Qpid JMS Client (0.26.0) 
> shows that receipt of large messages is very slow in comparison with the send 
> of the same message.   For instance, sending 300MiB bytes message takes 5 
> seconds on my laptop.  The receipt takes 97 seconds.
> Instrumenting the client stack shows an obvious hot-spot in Proton-J.  
> {{org.apache.qpid.proton.engine.impl.TransportSession#handleTransfer}} 
> re-allocates/array copies the entire delivery buffer for ever transfer that 
> comprises it.  This leads to a non-linear loss of performance.   The stack 
> include Proton-J 0.23.0, but is looks like this code is unchanged.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Updated] (QPIDJMS-376) notify the ExceptionListner when a consumer with a MessageListener remotely closes

2018-04-10 Thread Timothy Bish (JIRA)

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

Timothy Bish updated QPIDJMS-376:
-
Fix Version/s: 0.32.0

> notify the ExceptionListner when a consumer with a MessageListener remotely 
> closes
> --
>
> Key: QPIDJMS-376
> URL: https://issues.apache.org/jira/browse/QPIDJMS-376
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.31.0
> Environment: AMQP Server: Enmasse 0.17.1
> Enmasse Address Type: anycast
>Reporter: Daniel Maier
>Priority: Major
> Fix For: 0.32.0
>
> Attachments: clientlogs.txt
>
>
> When I create a consumer to an address that just does not exist, I expected 
> to get some exception or that the client retries the operation. But there 
> seems not even to be a log message which indicates a failure.
> Is this intended behavior or is this a bug? A more general description is: If 
> AMQP server closes the receiver link, qpid jms client does not notify the 
> user anyhow or does not re-establish the link.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-374) Double encoded query parameters

2018-04-05 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-374.
--
   Resolution: Fixed
 Assignee: Timothy Bish
Fix Version/s: 0.32.0

> Double encoded query parameters
> ---
>
> Key: QPIDJMS-374
> URL: https://issues.apache.org/jira/browse/QPIDJMS-374
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.31.0
>Reporter: Michael Bolz
>Assignee: Timothy Bish
>Priority: Major
> Fix For: 0.32.0
>
>
> When query parameters are parsed in 
> [TransportFactory|https://github.com/apache/qpid-jms/blob/70fe1b882e1381b1016a10b0707f6e112d4e0598/qpid-jms-client/src/main/java/org/apache/qpid/jms/transports/TransportFactory.java#L51]
>  and 
> [AmqpProviderFactory|https://github.com/apache/qpid-jms/blob/70fe1b882e1381b1016a10b0707f6e112d4e0598/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpProviderFactory.java#L41]
>  and than further processed via 
> [PropertyUtil#replaceQuery|https://github.com/apache/qpid-jms/blob/70fe1b882e1381b1016a10b0707f6e112d4e0598/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/PropertyUtil.java#L64]
>  the values gets double encoded.
> See also Javadoc of 
> [PropertyUtil#replaceQuery|https://github.com/apache/qpid-jms/blob/70fe1b882e1381b1016a10b0707f6e112d4e0598/qpid-jms-client/src/main/java/org/apache/qpid/jms/util/PropertyUtil.java#L64]:
> {quote}
> The string values in the Map will be URL Encoded by this method which means 
> that if an
> already encoded value is passed it will be double encoded resulting in 
> corrupt values
> in the newly created URI.
> {quote}
> For a fix I created a [pull 
> request|https://github.com/apache/qpid-jms/pull/17].



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (PROTON-1811) [proton-j] FrameWriter refactoring to reduce code on the hot path and reduce allocations of EmptyFrame

2018-03-23 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved PROTON-1811.
--
Resolution: Fixed

> [proton-j] FrameWriter refactoring to reduce code on the hot path and reduce 
> allocations of EmptyFrame
> --
>
> Key: PROTON-1811
> URL: https://issues.apache.org/jira/browse/PROTON-1811
> Project: Qpid Proton
>  Issue Type: Improvement
>  Components: proton-j
>Affects Versions: proton-j-0.26.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Major
> Fix For: proton-j-0.27.0
>
>
> Some small refactoring inside FrameWriter to reduce the code on the hot path 
> to allow for inlining of the common case.  Also removes the need to allocate 
> EmptyFrame for logging on tick handling.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (PROTON-1811) [proton-j] FrameWriter refactoring to reduce code on the hot path and reduce allocations of EmptyFrame

2018-03-23 Thread Timothy Bish (JIRA)
Timothy Bish created PROTON-1811:


 Summary: [proton-j] FrameWriter refactoring to reduce code on the 
hot path and reduce allocations of EmptyFrame
 Key: PROTON-1811
 URL: https://issues.apache.org/jira/browse/PROTON-1811
 Project: Qpid Proton
  Issue Type: Improvement
  Components: proton-j
Affects Versions: proton-j-0.26.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: proton-j-0.27.0


Some small refactoring inside FrameWriter to reduce the code on the hot path to 
allow for inlining of the common case.  Also removes the need to allocate 
EmptyFrame for logging on tick handling.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (PROTON-1808) [proton-j] FrameWriter allocates additional buffer capacity inefficiently

2018-03-22 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved PROTON-1808.
--
Resolution: Fixed

> [proton-j] FrameWriter allocates additional buffer capacity inefficiently
> -
>
> Key: PROTON-1808
> URL: https://issues.apache.org/jira/browse/PROTON-1808
> Project: Qpid Proton
>  Issue Type: Improvement
>  Components: proton-j
>Affects Versions: proton-j-0.26.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Minor
> Fix For: proton-j-0.27.0
>
>
> When writing a Transfer that has a larger payload than previously seen the 
> FrameWriter may need to grow its internal buffer to accommodate that 
> transfer.  The current strategy is to double the capacity of the current 
> buffer and copy the old bytes into the new buffer and then check again if 
> there is room.  Depending on the frame size setting and the size of the 
> transfer this can result in a large amount of garbage being created and a 
> number of unneeded copies of encoded performative data. 



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (PROTON-1808) [proton-j] FrameWriter allocates additional buffer capacity inefficiently

2018-03-22 Thread Timothy Bish (JIRA)
Timothy Bish created PROTON-1808:


 Summary: [proton-j] FrameWriter allocates additional buffer 
capacity inefficiently
 Key: PROTON-1808
 URL: https://issues.apache.org/jira/browse/PROTON-1808
 Project: Qpid Proton
  Issue Type: Improvement
  Components: proton-j
Affects Versions: proton-j-0.26.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: proton-j-0.27.0


When writing a Transfer that has a larger payload than previously seen the 
FrameWriter may need to grow its internal buffer to accommodate that transfer.  
The current strategy is to double the capacity of the current buffer and copy 
the old bytes into the new buffer and then check again if there is room.  
Depending on the frame size setting and the size of the transfer this can 
result in a large amount of garbage being created and a number of unneeded 
copies of encoded performative data. 



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-369) Failover doesn't apply max reconnect attempts on initial connect when remote is closing on the Open frame

2018-03-21 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-369.
--
Resolution: Fixed

> Failover doesn't apply max reconnect attempts on initial connect when remote 
> is closing on the Open frame
> -
>
> Key: QPIDJMS-369
> URL: https://issues.apache.org/jira/browse/QPIDJMS-369
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.30.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Major
> Fix For: 0.31.0
>
>
> If the transport has not yet connect to a remote and all hosts are rejecting 
> on the Open frame the failover transport does not properly apply the max 
> reconnect or startup max reconnect attempts setting and will attempt to 
> connect until closed.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPIDJMS-369) Failover doesn't apply max reconnect attempts on initial connect when remote is closing on the Open frame

2018-03-21 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-369:


 Summary: Failover doesn't apply max reconnect attempts on initial 
connect when remote is closing on the Open frame
 Key: QPIDJMS-369
 URL: https://issues.apache.org/jira/browse/QPIDJMS-369
 Project: Qpid JMS
  Issue Type: Bug
  Components: qpid-jms-client
Affects Versions: 0.30.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: 0.31.0


If the transport has not yet connect to a remote and all hosts are rejecting on 
the Open frame the failover transport does not properly apply the max reconnect 
or startup max reconnect attempts setting and will attempt to connect until 
closed.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-366) [Failover] JMS commit hangs forever if peer Closes gracefully and failover.maxReconnectAttempts exhausted

2018-03-21 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-366.
--
Resolution: Fixed

The reported issue has been resolved.  Please open a new issue to cover the 
newly reported problems and provide detailed instructions to reproduce along 
with any supporting logs or reproducer tests

> [Failover] JMS commit hangs forever if peer Closes gracefully and 
> failover.maxReconnectAttempts exhausted
> -
>
> Key: QPIDJMS-366
> URL: https://issues.apache.org/jira/browse/QPIDJMS-366
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Reporter: Keith Wall
>Assignee: Timothy Bish
>Priority: Major
> Fix For: 0.31.0
>
> Attachments: 054e24_qpid366_initalconnattemptfailsgracefully.log, 
> 4b02297_qpid-366.log, HelloWorld.patch
>
>
> If failover occurs whilst a JMS commit is in-flight, and that failover 
> exhausts its {{failover.maxReconnectAttempts}} the JMS commit call is seen to 
> hang forever.  This problem manifests when the connection attempts are 
> failing with a graceful {{Close}} from the peer.  If the connection failure 
> is at a 'transport' level (e.g. Connection refused) the problem does not 
> appear.
> Reproduction:
> # Start Broker-J 7.0.2
> # Go to http://localhost:8080, double click on virtualhost {{default}} in the 
> virtualhost table to open the virtualhost tab.
> # Create queue {{queue}}
> # Start IDE with qpid-jms project open (master today - 7e7cebe5)
> # Apply HelloWorld patch attached to this JIRA
> # Put a breakpoint in 
> {{org.apache.qpid.jms.provider.amqp.AmqpProvider#commit}} line 693 (i.e. the 
> closing brace of the try/catch the statement immediately following the 
> pumpToProton())
> # Run HelloWorld with attached patch applied under the debugger
> # Once the breakpoint is reached, use the console to stop the virtualhost.  
> Do this by clicking the {{Stop}} button on the virtualhost tab.
> # Resume the debugger
> # Expected : once failover attempts are exhausted, the JMS {{commit()}} call 
> should end with an exception - Actual: {{commit()}} continues to hang 
> indefinitely.
> The blocked main thread looks like this:
> {noformat}
> "main@1" prio=5 tid=0x1 nid=NA waiting
>   java.lang.Thread.State: WAITING
> at sun.misc.Unsafe.park(Unsafe.java:-1)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
> at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
> at 
> org.apache.qpid.jms.provider.ProviderFuture.sync(ProviderFuture.java:103)
> at org.apache.qpid.jms.JmsConnection.commit(JmsConnection.java:766)
> at 
> org.apache.qpid.jms.JmsLocalTransactionContext.commit(JmsLocalTransactionContext.java:171)
> at org.apache.qpid.jms.JmsSession.commit(JmsSession.java:227)
> at org.apache.qpid.jms.example.HelloWorld.main(HelloWorld.java:61)
> {noformat}



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (QPIDJMS-366) [Failover] JMS commit hangs forever if peer Closes gracefully and failover.maxReconnectAttempts exhausted

2018-03-20 Thread Timothy Bish (JIRA)

[ 
https://issues.apache.org/jira/browse/QPIDJMS-366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16407135#comment-16407135
 ] 

Timothy Bish commented on QPIDJMS-366:
--

This should be resolved now if you want to give it another test using the 
current master.

> [Failover] JMS commit hangs forever if peer Closes gracefully and 
> failover.maxReconnectAttempts exhausted
> -
>
> Key: QPIDJMS-366
> URL: https://issues.apache.org/jira/browse/QPIDJMS-366
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Reporter: Keith Wall
>Assignee: Timothy Bish
>Priority: Major
> Fix For: 0.31.0
>
> Attachments: 4b02297_qpid-366.log, HelloWorld.patch
>
>
> If failover occurs whilst a JMS commit is in-flight, and that failover 
> exhausts its {{failover.maxReconnectAttempts}} the JMS commit call is seen to 
> hang forever.  This problem manifests when the connection attempts are 
> failing with a graceful {{Close}} from the peer.  If the connection failure 
> is at a 'transport' level (e.g. Connection refused) the problem does not 
> appear.
> Reproduction:
> # Start Broker-J 7.0.2
> # Go to http://localhost:8080, double click on virtualhost {{default}} in the 
> virtualhost table to open the virtualhost tab.
> # Create queue {{queue}}
> # Start IDE with qpid-jms project open (master today - 7e7cebe5)
> # Apply HelloWorld patch attached to this JIRA
> # Put a breakpoint in 
> {{org.apache.qpid.jms.provider.amqp.AmqpProvider#commit}} line 693 (i.e. the 
> closing brace of the try/catch the statement immediately following the 
> pumpToProton())
> # Run HelloWorld with attached patch applied under the debugger
> # Once the breakpoint is reached, use the console to stop the virtualhost.  
> Do this by clicking the {{Stop}} button on the virtualhost tab.
> # Resume the debugger
> # Expected : once failover attempts are exhausted, the JMS {{commit()}} call 
> should end with an exception - Actual: {{commit()}} continues to hang 
> indefinitely.
> The blocked main thread looks like this:
> {noformat}
> "main@1" prio=5 tid=0x1 nid=NA waiting
>   java.lang.Thread.State: WAITING
> at sun.misc.Unsafe.park(Unsafe.java:-1)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
> at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
> at 
> org.apache.qpid.jms.provider.ProviderFuture.sync(ProviderFuture.java:103)
> at org.apache.qpid.jms.JmsConnection.commit(JmsConnection.java:766)
> at 
> org.apache.qpid.jms.JmsLocalTransactionContext.commit(JmsLocalTransactionContext.java:171)
> at org.apache.qpid.jms.JmsSession.commit(JmsSession.java:227)
> at org.apache.qpid.jms.example.HelloWorld.main(HelloWorld.java:61)
> {noformat}



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Updated] (QPIDJMS-366) [Failover] JMS commit hangs forever if peer Closes gracefully and failover.maxReconnectAttempts exhausted

2018-03-20 Thread Timothy Bish (JIRA)

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

Timothy Bish updated QPIDJMS-366:
-
Fix Version/s: 0.31.0

> [Failover] JMS commit hangs forever if peer Closes gracefully and 
> failover.maxReconnectAttempts exhausted
> -
>
> Key: QPIDJMS-366
> URL: https://issues.apache.org/jira/browse/QPIDJMS-366
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Reporter: Keith Wall
>Assignee: Timothy Bish
>Priority: Major
> Fix For: 0.31.0
>
> Attachments: 4b02297_qpid-366.log, HelloWorld.patch
>
>
> If failover occurs whilst a JMS commit is in-flight, and that failover 
> exhausts its {{failover.maxReconnectAttempts}} the JMS commit call is seen to 
> hang forever.  This problem manifests when the connection attempts are 
> failing with a graceful {{Close}} from the peer.  If the connection failure 
> is at a 'transport' level (e.g. Connection refused) the problem does not 
> appear.
> Reproduction:
> # Start Broker-J 7.0.2
> # Go to http://localhost:8080, double click on virtualhost {{default}} in the 
> virtualhost table to open the virtualhost tab.
> # Create queue {{queue}}
> # Start IDE with qpid-jms project open (master today - 7e7cebe5)
> # Apply HelloWorld patch attached to this JIRA
> # Put a breakpoint in 
> {{org.apache.qpid.jms.provider.amqp.AmqpProvider#commit}} line 693 (i.e. the 
> closing brace of the try/catch the statement immediately following the 
> pumpToProton())
> # Run HelloWorld with attached patch applied under the debugger
> # Once the breakpoint is reached, use the console to stop the virtualhost.  
> Do this by clicking the {{Stop}} button on the virtualhost tab.
> # Resume the debugger
> # Expected : once failover attempts are exhausted, the JMS {{commit()}} call 
> should end with an exception - Actual: {{commit()}} continues to hang 
> indefinitely.
> The blocked main thread looks like this:
> {noformat}
> "main@1" prio=5 tid=0x1 nid=NA waiting
>   java.lang.Thread.State: WAITING
> at sun.misc.Unsafe.park(Unsafe.java:-1)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
> at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
> at 
> org.apache.qpid.jms.provider.ProviderFuture.sync(ProviderFuture.java:103)
> at org.apache.qpid.jms.JmsConnection.commit(JmsConnection.java:766)
> at 
> org.apache.qpid.jms.JmsLocalTransactionContext.commit(JmsLocalTransactionContext.java:171)
> at org.apache.qpid.jms.JmsSession.commit(JmsSession.java:227)
> at org.apache.qpid.jms.example.HelloWorld.main(HelloWorld.java:61)
> {noformat}



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Assigned] (QPIDJMS-366) [Failover] JMS commit hangs forever if peer Closes gracefully and failover.maxReconnectAttempts exhausted

2018-03-20 Thread Timothy Bish (JIRA)

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

Timothy Bish reassigned QPIDJMS-366:


Assignee: Timothy Bish

> [Failover] JMS commit hangs forever if peer Closes gracefully and 
> failover.maxReconnectAttempts exhausted
> -
>
> Key: QPIDJMS-366
> URL: https://issues.apache.org/jira/browse/QPIDJMS-366
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Reporter: Keith Wall
>Assignee: Timothy Bish
>Priority: Major
> Fix For: 0.31.0
>
> Attachments: 4b02297_qpid-366.log, HelloWorld.patch
>
>
> If failover occurs whilst a JMS commit is in-flight, and that failover 
> exhausts its {{failover.maxReconnectAttempts}} the JMS commit call is seen to 
> hang forever.  This problem manifests when the connection attempts are 
> failing with a graceful {{Close}} from the peer.  If the connection failure 
> is at a 'transport' level (e.g. Connection refused) the problem does not 
> appear.
> Reproduction:
> # Start Broker-J 7.0.2
> # Go to http://localhost:8080, double click on virtualhost {{default}} in the 
> virtualhost table to open the virtualhost tab.
> # Create queue {{queue}}
> # Start IDE with qpid-jms project open (master today - 7e7cebe5)
> # Apply HelloWorld patch attached to this JIRA
> # Put a breakpoint in 
> {{org.apache.qpid.jms.provider.amqp.AmqpProvider#commit}} line 693 (i.e. the 
> closing brace of the try/catch the statement immediately following the 
> pumpToProton())
> # Run HelloWorld with attached patch applied under the debugger
> # Once the breakpoint is reached, use the console to stop the virtualhost.  
> Do this by clicking the {{Stop}} button on the virtualhost tab.
> # Resume the debugger
> # Expected : once failover attempts are exhausted, the JMS {{commit()}} call 
> should end with an exception - Actual: {{commit()}} continues to hang 
> indefinitely.
> The blocked main thread looks like this:
> {noformat}
> "main@1" prio=5 tid=0x1 nid=NA waiting
>   java.lang.Thread.State: WAITING
> at sun.misc.Unsafe.park(Unsafe.java:-1)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
> at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
> at 
> org.apache.qpid.jms.provider.ProviderFuture.sync(ProviderFuture.java:103)
> at org.apache.qpid.jms.JmsConnection.commit(JmsConnection.java:766)
> at 
> org.apache.qpid.jms.JmsLocalTransactionContext.commit(JmsLocalTransactionContext.java:171)
> at org.apache.qpid.jms.JmsSession.commit(JmsSession.java:227)
> at org.apache.qpid.jms.example.HelloWorld.main(HelloWorld.java:61)
> {noformat}



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (QPIDJMS-366) [Failover] JMS commit hangs forever if peer Closes gracefully and failover.maxReconnectAttempts exhausted

2018-03-19 Thread Timothy Bish (JIRA)

[ 
https://issues.apache.org/jira/browse/QPIDJMS-366?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16405344#comment-16405344
 ] 

Timothy Bish commented on QPIDJMS-366:
--

I've tried to reproduce it but had no luck.  A test or some supporting logs 
would be helpful

> [Failover] JMS commit hangs forever if peer Closes gracefully and 
> failover.maxReconnectAttempts exhausted
> -
>
> Key: QPIDJMS-366
> URL: https://issues.apache.org/jira/browse/QPIDJMS-366
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Reporter: Keith Wall
>Priority: Major
> Attachments: HelloWorld.patch
>
>
> If failover occurs whilst a JMS commit is in-flight, and that failover 
> exhausts its {{failover.maxReconnectAttempts}} the JMS commit call is seen to 
> hang forever.  This problem manifests when the connection attempts are 
> failing with a graceful {{Close}} from the peer.  If the connection failure 
> is at a 'transport' level (e.g. Connection refused) the problem does not 
> appear.
> Reproduction:
> # Start Broker-J 7.0.2
> # Go to http://localhost:8080, double click on virtualhost {{default}} in the 
> virtualhost table to open the virtualhost tab.
> # Create queue {{queue}}
> # Start IDE with qpid-jms project open (master today - 7e7cebe5)
> # Apply HelloWorld patch attached to this JIRA
> # Put a breakpoint in 
> {{org.apache.qpid.jms.provider.amqp.AmqpProvider#commit}} line 693 (i.e. the 
> closing brace of the try/catch the statement immediately following the 
> pumpToProton())
> # Run HelloWorld with attached patch applied under the debugger
> # Once the breakpoint is reached, use the console to stop the virtualhost.  
> Do this by clicking the {{Stop}} button on the virtualhost tab.
> # Resume the debugger
> # Expected : once failover attempts are exhausted, the JMS {{commit()}} call 
> should end with an exception - Actual: {{commit()}} continues to hang 
> indefinitely.
> The blocked main thread looks like this:
> {noformat}
> "main@1" prio=5 tid=0x1 nid=NA waiting
>   java.lang.Thread.State: WAITING
> at sun.misc.Unsafe.park(Unsafe.java:-1)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
> at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
> at 
> org.apache.qpid.jms.provider.ProviderFuture.sync(ProviderFuture.java:103)
> at org.apache.qpid.jms.JmsConnection.commit(JmsConnection.java:766)
> at 
> org.apache.qpid.jms.JmsLocalTransactionContext.commit(JmsLocalTransactionContext.java:171)
> at org.apache.qpid.jms.JmsSession.commit(JmsSession.java:227)
> at org.apache.qpid.jms.example.HelloWorld.main(HelloWorld.java:61)
> {noformat}



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-365) [Failover] failover.reconnectDelay not applied between connection attempts if peer Closes gracefully

2018-03-16 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-365.
--
Resolution: Fixed

> [Failover] failover.reconnectDelay not applied between connection attempts if 
> peer Closes gracefully
> 
>
> Key: QPIDJMS-365
> URL: https://issues.apache.org/jira/browse/QPIDJMS-365
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Reporter: Keith Wall
>Assignee: Timothy Bish
>Priority: Major
> Fix For: 0.31.0
>
>
> When using Broker-J's High Availability feature, the client's failover 
> abilities are used to allow the client to discover which Broker in the HA 
> group has the master role.  The client tries each Broker on the failover list 
> until until one successfully responds to the {{Open}} indicating that it is 
> current master.
>  
> When a node is not in the master role, it gracefully closes the AMQP 
> connection by sending a {{Close}} performative.  During election periods, it 
> is normal for all nodes in the HA group to respond with the {{Close}} until 
> the election concludes.
> {noformat}
> Close{error=Error{condition=amqp:not-found, description='Virtual host 
> 'localhost' is not active', info=null}}
> {noformat} 
> The QpidJMS Client failover options includes a {{failover.reconnectDelay}} 
> which "Controls the delay between successive reconnection attempts".   
> However it appears that the reconnection delay is only applied between 
> attempts when a connection fails owing to a 'transport' level failure 
> (connection refused etc).  If the connection fails at the AMQP level, the 
> delay is not applied.
> This is impactful to the HA use-case for Broker-J.   It means that during 
> periods of reelection, the client, tightly spins in the reconnection loop, 
> excessively consuming system resources.  It is also necessary to ensure that 
> {{failover.maxReconnectAttempts}} is set sufficiently large to allow for an 
> election period to conclude successfully.  Whilst the user could use 
> unlimited reconnection attempts, this is unpleasant as it means the system 
> won't fail in the case where the election does not conclude within a 
> reasonable time period.
> Extract of TRACE level logging from 
> {{org.apache.qpid.jms.provider.failover.FailoverProvider}} for the case when 
> a AMQP connection is closed gracefully ({{Close}} performative):
> {noformat}
> 2018-03-13 11:04:54,951 [lization thread] - DEBUG FailoverProvider
>- Failover: the provider reports failure: Connection closed by external 
> action [condition = amqp:connection:forced]
> 2018-03-13 11:04:54,951 [lization thread] - DEBUG FailoverProvider
>- handling Provider failure: Connection closed by external action 
> [condition = amqp:connection:forced]
> 2018-03-13 11:04:54,951 [lization thread] - TRACE FailoverProvider
>- stack
> java.io.IOException: Connection closed by external action [condition = 
> amqp:connection:forced]
>   at 
> org.apache.qpid.jms.util.IOExceptionSupport.create(IOExceptionSupport.java:45)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.fireProviderException(AmqpProvider.java:1086)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpAbstractResource.closeResource(AmqpAbstractResource.java:182)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpAbstractResource.processRemoteClose(AmqpAbstractResource.java:262)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.processUpdates(AmqpProvider.java:949)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.access$1900(AmqpProvider.java:104)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider$17.run(AmqpProvider.java:831)
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>   at java.lang.Thread.run(Thread.java:748)
> Caused by: javax.jms.JMSException: Connection closed by external action 
> [condition = amqp:connection:forced]
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:164)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:117)
>   ... 11 more
> 2018-03-13 11:04:54,954 [ connect 

[jira] [Reopened] (QPIDJMS-365) [Failover] failover.reconnectDelay not applied between connection attempts if peer Closes gracefully

2018-03-16 Thread Timothy Bish (JIRA)

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

Timothy Bish reopened QPIDJMS-365:
--

> [Failover] failover.reconnectDelay not applied between connection attempts if 
> peer Closes gracefully
> 
>
> Key: QPIDJMS-365
> URL: https://issues.apache.org/jira/browse/QPIDJMS-365
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Reporter: Keith Wall
>Assignee: Timothy Bish
>Priority: Major
> Fix For: 0.31.0
>
>
> When using Broker-J's High Availability feature, the client's failover 
> abilities are used to allow the client to discover which Broker in the HA 
> group has the master role.  The client tries each Broker on the failover list 
> until until one successfully responds to the {{Open}} indicating that it is 
> current master.
>  
> When a node is not in the master role, it gracefully closes the AMQP 
> connection by sending a {{Close}} performative.  During election periods, it 
> is normal for all nodes in the HA group to respond with the {{Close}} until 
> the election concludes.
> {noformat}
> Close{error=Error{condition=amqp:not-found, description='Virtual host 
> 'localhost' is not active', info=null}}
> {noformat} 
> The QpidJMS Client failover options includes a {{failover.reconnectDelay}} 
> which "Controls the delay between successive reconnection attempts".   
> However it appears that the reconnection delay is only applied between 
> attempts when a connection fails owing to a 'transport' level failure 
> (connection refused etc).  If the connection fails at the AMQP level, the 
> delay is not applied.
> This is impactful to the HA use-case for Broker-J.   It means that during 
> periods of reelection, the client, tightly spins in the reconnection loop, 
> excessively consuming system resources.  It is also necessary to ensure that 
> {{failover.maxReconnectAttempts}} is set sufficiently large to allow for an 
> election period to conclude successfully.  Whilst the user could use 
> unlimited reconnection attempts, this is unpleasant as it means the system 
> won't fail in the case where the election does not conclude within a 
> reasonable time period.
> Extract of TRACE level logging from 
> {{org.apache.qpid.jms.provider.failover.FailoverProvider}} for the case when 
> a AMQP connection is closed gracefully ({{Close}} performative):
> {noformat}
> 2018-03-13 11:04:54,951 [lization thread] - DEBUG FailoverProvider
>- Failover: the provider reports failure: Connection closed by external 
> action [condition = amqp:connection:forced]
> 2018-03-13 11:04:54,951 [lization thread] - DEBUG FailoverProvider
>- handling Provider failure: Connection closed by external action 
> [condition = amqp:connection:forced]
> 2018-03-13 11:04:54,951 [lization thread] - TRACE FailoverProvider
>- stack
> java.io.IOException: Connection closed by external action [condition = 
> amqp:connection:forced]
>   at 
> org.apache.qpid.jms.util.IOExceptionSupport.create(IOExceptionSupport.java:45)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.fireProviderException(AmqpProvider.java:1086)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpAbstractResource.closeResource(AmqpAbstractResource.java:182)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpAbstractResource.processRemoteClose(AmqpAbstractResource.java:262)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.processUpdates(AmqpProvider.java:949)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.access$1900(AmqpProvider.java:104)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider$17.run(AmqpProvider.java:831)
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>   at java.lang.Thread.run(Thread.java:748)
> Caused by: javax.jms.JMSException: Connection closed by external action 
> [condition = amqp:connection:forced]
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:164)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:117)
>   ... 11 more
> 2018-03-13 11:04:54,954 [ connect thread] - DEBUG 

[jira] [Updated] (QPIDJMS-365) [Failover] failover.reconnectDelay not applied between connection attempts if peer Closes gracefully

2018-03-16 Thread Timothy Bish (JIRA)

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

Timothy Bish updated QPIDJMS-365:
-
Fix Version/s: 0.31.0

> [Failover] failover.reconnectDelay not applied between connection attempts if 
> peer Closes gracefully
> 
>
> Key: QPIDJMS-365
> URL: https://issues.apache.org/jira/browse/QPIDJMS-365
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Reporter: Keith Wall
>Assignee: Timothy Bish
>Priority: Major
> Fix For: 0.31.0
>
>
> When using Broker-J's High Availability feature, the client's failover 
> abilities are used to allow the client to discover which Broker in the HA 
> group has the master role.  The client tries each Broker on the failover list 
> until until one successfully responds to the {{Open}} indicating that it is 
> current master.
>  
> When a node is not in the master role, it gracefully closes the AMQP 
> connection by sending a {{Close}} performative.  During election periods, it 
> is normal for all nodes in the HA group to respond with the {{Close}} until 
> the election concludes.
> {noformat}
> Close{error=Error{condition=amqp:not-found, description='Virtual host 
> 'localhost' is not active', info=null}}
> {noformat} 
> The QpidJMS Client failover options includes a {{failover.reconnectDelay}} 
> which "Controls the delay between successive reconnection attempts".   
> However it appears that the reconnection delay is only applied between 
> attempts when a connection fails owing to a 'transport' level failure 
> (connection refused etc).  If the connection fails at the AMQP level, the 
> delay is not applied.
> This is impactful to the HA use-case for Broker-J.   It means that during 
> periods of reelection, the client, tightly spins in the reconnection loop, 
> excessively consuming system resources.  It is also necessary to ensure that 
> {{failover.maxReconnectAttempts}} is set sufficiently large to allow for an 
> election period to conclude successfully.  Whilst the user could use 
> unlimited reconnection attempts, this is unpleasant as it means the system 
> won't fail in the case where the election does not conclude within a 
> reasonable time period.
> Extract of TRACE level logging from 
> {{org.apache.qpid.jms.provider.failover.FailoverProvider}} for the case when 
> a AMQP connection is closed gracefully ({{Close}} performative):
> {noformat}
> 2018-03-13 11:04:54,951 [lization thread] - DEBUG FailoverProvider
>- Failover: the provider reports failure: Connection closed by external 
> action [condition = amqp:connection:forced]
> 2018-03-13 11:04:54,951 [lization thread] - DEBUG FailoverProvider
>- handling Provider failure: Connection closed by external action 
> [condition = amqp:connection:forced]
> 2018-03-13 11:04:54,951 [lization thread] - TRACE FailoverProvider
>- stack
> java.io.IOException: Connection closed by external action [condition = 
> amqp:connection:forced]
>   at 
> org.apache.qpid.jms.util.IOExceptionSupport.create(IOExceptionSupport.java:45)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.fireProviderException(AmqpProvider.java:1086)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpAbstractResource.closeResource(AmqpAbstractResource.java:182)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpAbstractResource.processRemoteClose(AmqpAbstractResource.java:262)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.processUpdates(AmqpProvider.java:949)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.access$1900(AmqpProvider.java:104)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider$17.run(AmqpProvider.java:831)
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>   at java.lang.Thread.run(Thread.java:748)
> Caused by: javax.jms.JMSException: Connection closed by external action 
> [condition = amqp:connection:forced]
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:164)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:117)
>   ... 11 more
> 2018-03-13 11:04:54,954 [ connect 

[jira] [Resolved] (QPIDJMS-368) Connection URL keystore/truststore/user passwords can be reported unmasked as part of client logs

2018-03-16 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-368.
--
   Resolution: Fixed
 Assignee: Timothy Bish
Fix Version/s: 0.31.0

> Connection URL keystore/truststore/user passwords can be reported unmasked as 
> part of client logs
> -
>
> Key: QPIDJMS-368
> URL: https://issues.apache.org/jira/browse/QPIDJMS-368
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.30.0
>Reporter: Alex Rudyy
>Assignee: Timothy Bish
>Priority: Major
> Fix For: 0.31.0
>
>
> Connection URL keystore/truststore/user passwords can be reported unmasked as 
> part of client logs in the following cases:
> # when no failover is configured, a failed attempt to establish connectivity 
> results in issuing the ERROR log as below
> {noformat}
> ERROR [main] o.a.q.j.JmsConnection Failed to connect to remote at: 
> amqps://localhost:5672?transport.keyStoreLocation=%2Fpath%2Fkeystore.jks=password=%2Fpath%2Fto%2Ftrsustore.jks=password
> {noformat}
> # when failover is configured, a connectivity attempt  can end-up in logs 
> like below
> {noformat}
> DEBUG [FailoverProvider: connect thread] o.a.q.j.p.f.FailoverProvider 
> Connection attempt:[1] to: 
> amqps://localhost:5672?transport.keyStoreLocation=/path/to/truststore.jks=password=/path/to/keystore.jks=password=admin=password
>  in-progress
> INFO  [FailoverProvider: connect thread] o.a.q.j.p.f.FailoverProvider 
> Connection attempt:[1] to: 
> amqps://localhost:5672?transport.keyStoreLocation=/path/to/truststore.jks=password=/path/to/keystore.jks=password=admin=password
>  failed
> {noformat}
> An attacker can potentially retrieve the credentials from the logs. It would 
> be desirable to mask credential details when logging connection URL.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Closed] (QPIDJMS-365) [Failover] failover.reconnectDelay not applied between connection attempts if peer Closes gracefully

2018-03-16 Thread Timothy Bish (JIRA)

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

Timothy Bish closed QPIDJMS-365.

Resolution: Fixed

> [Failover] failover.reconnectDelay not applied between connection attempts if 
> peer Closes gracefully
> 
>
> Key: QPIDJMS-365
> URL: https://issues.apache.org/jira/browse/QPIDJMS-365
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Reporter: Keith Wall
>Assignee: Timothy Bish
>Priority: Major
>
> When using Broker-J's High Availability feature, the client's failover 
> abilities are used to allow the client to discover which Broker in the HA 
> group has the master role.  The client tries each Broker on the failover list 
> until until one successfully responds to the {{Open}} indicating that it is 
> current master.
>  
> When a node is not in the master role, it gracefully closes the AMQP 
> connection by sending a {{Close}} performative.  During election periods, it 
> is normal for all nodes in the HA group to respond with the {{Close}} until 
> the election concludes.
> {noformat}
> Close{error=Error{condition=amqp:not-found, description='Virtual host 
> 'localhost' is not active', info=null}}
> {noformat} 
> The QpidJMS Client failover options includes a {{failover.reconnectDelay}} 
> which "Controls the delay between successive reconnection attempts".   
> However it appears that the reconnection delay is only applied between 
> attempts when a connection fails owing to a 'transport' level failure 
> (connection refused etc).  If the connection fails at the AMQP level, the 
> delay is not applied.
> This is impactful to the HA use-case for Broker-J.   It means that during 
> periods of reelection, the client, tightly spins in the reconnection loop, 
> excessively consuming system resources.  It is also necessary to ensure that 
> {{failover.maxReconnectAttempts}} is set sufficiently large to allow for an 
> election period to conclude successfully.  Whilst the user could use 
> unlimited reconnection attempts, this is unpleasant as it means the system 
> won't fail in the case where the election does not conclude within a 
> reasonable time period.
> Extract of TRACE level logging from 
> {{org.apache.qpid.jms.provider.failover.FailoverProvider}} for the case when 
> a AMQP connection is closed gracefully ({{Close}} performative):
> {noformat}
> 2018-03-13 11:04:54,951 [lization thread] - DEBUG FailoverProvider
>- Failover: the provider reports failure: Connection closed by external 
> action [condition = amqp:connection:forced]
> 2018-03-13 11:04:54,951 [lization thread] - DEBUG FailoverProvider
>- handling Provider failure: Connection closed by external action 
> [condition = amqp:connection:forced]
> 2018-03-13 11:04:54,951 [lization thread] - TRACE FailoverProvider
>- stack
> java.io.IOException: Connection closed by external action [condition = 
> amqp:connection:forced]
>   at 
> org.apache.qpid.jms.util.IOExceptionSupport.create(IOExceptionSupport.java:45)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.fireProviderException(AmqpProvider.java:1086)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpAbstractResource.closeResource(AmqpAbstractResource.java:182)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpAbstractResource.processRemoteClose(AmqpAbstractResource.java:262)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.processUpdates(AmqpProvider.java:949)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.access$1900(AmqpProvider.java:104)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider$17.run(AmqpProvider.java:831)
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>   at java.lang.Thread.run(Thread.java:748)
> Caused by: javax.jms.JMSException: Connection closed by external action 
> [condition = amqp:connection:forced]
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:164)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:117)
>   ... 11 more
> 2018-03-13 11:04:54,954 [ connect thread] - DEBUG FailoverProvider

[jira] [Assigned] (QPIDJMS-365) [Failover] failover.reconnectDelay not applied between connection attempts if peer Closes gracefully

2018-03-13 Thread Timothy Bish (JIRA)

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

Timothy Bish reassigned QPIDJMS-365:


Assignee: Timothy Bish

> [Failover] failover.reconnectDelay not applied between connection attempts if 
> peer Closes gracefully
> 
>
> Key: QPIDJMS-365
> URL: https://issues.apache.org/jira/browse/QPIDJMS-365
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Reporter: Keith Wall
>Assignee: Timothy Bish
>Priority: Major
>
> When using Broker-J's High Availability feature, the client's failover 
> abilities are used to allow the client to discover which Broker in the HA 
> group has the master role.  The client tries each Broker on the failover list 
> until until one successfully responds to the {{Open}} indicating that it is 
> current master.
>  
> When a node is not in the master role, it gracefully closes the AMQP 
> connection by sending a {{Close}} performative.  During election periods, it 
> is normal for all nodes in the HA group to respond with the {{Close}} until 
> the election concludes.
> {noformat}
> Close{error=Error{condition=amqp:not-found, description='Virtual host 
> 'localhost' is not active', info=null}}
> {noformat} 
> The QpidJMS Client failover options includes a {{failover.reconnectDelay}} 
> which "Controls the delay between successive reconnection attempts".   
> However it appears that the reconnection delay is only applied between 
> attempts when a connection fails owing to a 'transport' level failure 
> (connection refused etc).  If the connection fails at the AMQP level, the 
> delay is not applied.
> This is impactful to the HA use-case for Broker-J.   It means that during 
> periods of reelection, the client, tightly spins in the reconnection loop, 
> excessively consuming system resources.  It is also necessary to ensure that 
> {{failover.maxReconnectAttempts}} is set sufficiently large to allow for an 
> election period to conclude successfully.  Whilst the user could use 
> unlimited reconnection attempts, this is unpleasant as it means the system 
> won't fail in the case where the election does not conclude within a 
> reasonable time period.
> Extract of TRACE level logging from 
> {{org.apache.qpid.jms.provider.failover.FailoverProvider}} for the case when 
> a AMQP connection is closed gracefully ({{Close}} performative):
> {noformat}
> 2018-03-13 11:04:54,951 [lization thread] - DEBUG FailoverProvider
>- Failover: the provider reports failure: Connection closed by external 
> action [condition = amqp:connection:forced]
> 2018-03-13 11:04:54,951 [lization thread] - DEBUG FailoverProvider
>- handling Provider failure: Connection closed by external action 
> [condition = amqp:connection:forced]
> 2018-03-13 11:04:54,951 [lization thread] - TRACE FailoverProvider
>- stack
> java.io.IOException: Connection closed by external action [condition = 
> amqp:connection:forced]
>   at 
> org.apache.qpid.jms.util.IOExceptionSupport.create(IOExceptionSupport.java:45)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.fireProviderException(AmqpProvider.java:1086)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpAbstractResource.closeResource(AmqpAbstractResource.java:182)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpAbstractResource.processRemoteClose(AmqpAbstractResource.java:262)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.processUpdates(AmqpProvider.java:949)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider.access$1900(AmqpProvider.java:104)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpProvider$17.run(AmqpProvider.java:831)
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
>   at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>   at java.lang.Thread.run(Thread.java:748)
> Caused by: javax.jms.JMSException: Connection closed by external action 
> [condition = amqp:connection:forced]
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:164)
>   at 
> org.apache.qpid.jms.provider.amqp.AmqpSupport.convertToException(AmqpSupport.java:117)
>   ... 11 more
> 2018-03-13 11:04:54,954 [ connect thread] - DEBUG 

[jira] [Closed] (QPIDJMS-353) Add pooled connection factory

2018-03-05 Thread Timothy Bish (JIRA)

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

Timothy Bish closed QPIDJMS-353.

Resolution: Won't Fix

> Add pooled connection factory
> -
>
> Key: QPIDJMS-353
> URL: https://issues.apache.org/jira/browse/QPIDJMS-353
> Project: Qpid JMS
>  Issue Type: Improvement
>  Components: qpid-jms-client
>Affects Versions: 0.28.0
>Reporter: Nicola Ferraro
>Priority: Major
>
> A pooled connection factory was present in the amqp 0.x version of the 
> library, but is missing in the current one.
> I've done some tests with Apache Camel (camel-amqp) and every message sent to 
> a queue results into a new connection.
> A (always increasing) progressive number and a message about Sasl 
> authentication is printed for every message. I suspect this is a waste of 
> performance.
> Do you plan to add this feature?
> Relevant parts of the stack trace:
> {code}
> 10:13:03.161 [AmqpProvider :(3):[amqp://localhost:5672]] INFO  
> o.a.q.jms.sasl.SaslMechanismFinder - Best match for SASL auth was: SASL-PLAIN
> 10:13:03.201 [AmqpProvider :(3):[amqp://localhost:5672]] INFO  
> org.apache.qpid.jms.JmsConnection - Connection 
> ID:94d6f8bf-886f-46b2-8eff-af09f03dd46c:1 connected to remote Broker: 
> amqp://localhost:5672
> 10:13:03.240 [AmqpProvider :(4):[amqp://localhost:5672]] INFO  
> o.a.q.jms.sasl.SaslMechanismFinder - Best match for SASL auth was: SASL-PLAIN
> 10:13:03.255 [AmqpProvider :(4):[amqp://localhost:5672]] INFO  
> org.apache.qpid.jms.JmsConnection - Connection 
> ID:946b64b6-dbc3-4ce7-b178-55de6759c26b:2 connected to remote Broker: 
> amqp://localhost:5672
> 10:13:06.143 [AmqpProvider :(5):[amqp://localhost:5672]] INFO  
> o.a.q.jms.sasl.SaslMechanismFinder - Best match for SASL auth was: SASL-PLAIN
> 10:13:06.181 [AmqpProvider :(5):[amqp://localhost:5672]] INFO  
> org.apache.qpid.jms.JmsConnection - Connection 
> ID:89593ca0-a185-4e51-80ef-bb6bf3dfbbbd:3 connected to remote Broker: 
> amqp://localhost:5672
> {code}



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Issue Comment Deleted] (QPIDJMS-353) Add pooled connection factory

2018-03-05 Thread Timothy Bish (JIRA)

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

Timothy Bish updated QPIDJMS-353:
-
Comment: was deleted

(was: Please, do. )

> Add pooled connection factory
> -
>
> Key: QPIDJMS-353
> URL: https://issues.apache.org/jira/browse/QPIDJMS-353
> Project: Qpid JMS
>  Issue Type: Improvement
>  Components: qpid-jms-client
>Affects Versions: 0.28.0
>Reporter: Nicola Ferraro
>Priority: Major
>
> A pooled connection factory was present in the amqp 0.x version of the 
> library, but is missing in the current one.
> I've done some tests with Apache Camel (camel-amqp) and every message sent to 
> a queue results into a new connection.
> A (always increasing) progressive number and a message about Sasl 
> authentication is printed for every message. I suspect this is a waste of 
> performance.
> Do you plan to add this feature?
> Relevant parts of the stack trace:
> {code}
> 10:13:03.161 [AmqpProvider :(3):[amqp://localhost:5672]] INFO  
> o.a.q.jms.sasl.SaslMechanismFinder - Best match for SASL auth was: SASL-PLAIN
> 10:13:03.201 [AmqpProvider :(3):[amqp://localhost:5672]] INFO  
> org.apache.qpid.jms.JmsConnection - Connection 
> ID:94d6f8bf-886f-46b2-8eff-af09f03dd46c:1 connected to remote Broker: 
> amqp://localhost:5672
> 10:13:03.240 [AmqpProvider :(4):[amqp://localhost:5672]] INFO  
> o.a.q.jms.sasl.SaslMechanismFinder - Best match for SASL auth was: SASL-PLAIN
> 10:13:03.255 [AmqpProvider :(4):[amqp://localhost:5672]] INFO  
> org.apache.qpid.jms.JmsConnection - Connection 
> ID:946b64b6-dbc3-4ce7-b178-55de6759c26b:2 connected to remote Broker: 
> amqp://localhost:5672
> 10:13:06.143 [AmqpProvider :(5):[amqp://localhost:5672]] INFO  
> o.a.q.jms.sasl.SaslMechanismFinder - Best match for SASL auth was: SASL-PLAIN
> 10:13:06.181 [AmqpProvider :(5):[amqp://localhost:5672]] INFO  
> org.apache.qpid.jms.JmsConnection - Connection 
> ID:89593ca0-a185-4e51-80ef-bb6bf3dfbbbd:3 connected to remote Broker: 
> amqp://localhost:5672
> {code}



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (QPIDJMS-353) Add pooled connection factory

2018-03-05 Thread Timothy Bish (JIRA)

[ 
https://issues.apache.org/jira/browse/QPIDJMS-353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16387103#comment-16387103
 ] 

Timothy Bish commented on QPIDJMS-353:
--

Please, do. 

> Add pooled connection factory
> -
>
> Key: QPIDJMS-353
> URL: https://issues.apache.org/jira/browse/QPIDJMS-353
> Project: Qpid JMS
>  Issue Type: Improvement
>  Components: qpid-jms-client
>Affects Versions: 0.28.0
>Reporter: Nicola Ferraro
>Priority: Major
>
> A pooled connection factory was present in the amqp 0.x version of the 
> library, but is missing in the current one.
> I've done some tests with Apache Camel (camel-amqp) and every message sent to 
> a queue results into a new connection.
> A (always increasing) progressive number and a message about Sasl 
> authentication is printed for every message. I suspect this is a waste of 
> performance.
> Do you plan to add this feature?
> Relevant parts of the stack trace:
> {code}
> 10:13:03.161 [AmqpProvider :(3):[amqp://localhost:5672]] INFO  
> o.a.q.jms.sasl.SaslMechanismFinder - Best match for SASL auth was: SASL-PLAIN
> 10:13:03.201 [AmqpProvider :(3):[amqp://localhost:5672]] INFO  
> org.apache.qpid.jms.JmsConnection - Connection 
> ID:94d6f8bf-886f-46b2-8eff-af09f03dd46c:1 connected to remote Broker: 
> amqp://localhost:5672
> 10:13:03.240 [AmqpProvider :(4):[amqp://localhost:5672]] INFO  
> o.a.q.jms.sasl.SaslMechanismFinder - Best match for SASL auth was: SASL-PLAIN
> 10:13:03.255 [AmqpProvider :(4):[amqp://localhost:5672]] INFO  
> org.apache.qpid.jms.JmsConnection - Connection 
> ID:946b64b6-dbc3-4ce7-b178-55de6759c26b:2 connected to remote Broker: 
> amqp://localhost:5672
> 10:13:06.143 [AmqpProvider :(5):[amqp://localhost:5672]] INFO  
> o.a.q.jms.sasl.SaslMechanismFinder - Best match for SASL auth was: SASL-PLAIN
> 10:13:06.181 [AmqpProvider :(5):[amqp://localhost:5672]] INFO  
> org.apache.qpid.jms.JmsConnection - Connection 
> ID:89593ca0-a185-4e51-80ef-bb6bf3dfbbbd:3 connected to remote Broker: 
> amqp://localhost:5672
> {code}



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-364) qpid-jms-client - May hide ClassNotFoundException when setting properties via FactoryFinder

2018-02-28 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-364.
--
   Resolution: Fixed
Fix Version/s: 0.30.0

> qpid-jms-client - May hide ClassNotFoundException when setting properties via 
> FactoryFinder
> ---
>
> Key: QPIDJMS-364
> URL: https://issues.apache.org/jira/browse/QPIDJMS-364
> Project: Qpid JMS
>  Issue Type: Improvement
>  Components: qpid-jms-client
>Affects Versions: 0.29.0
>Reporter: Claus Ibsen
>Assignee: Timothy Bish
>Priority: Minor
> Fix For: 0.30.0
>
> Attachments: Screen Shot 2018-02-28 at 09.52.46.png
>
>
> I had a problem in an Apache Camel AMQP example that would not work. It 
> turned out that it was a classpath issues with a missing JAR.
> However the real error I got was hidden as the qpid-jms-client catches a 
> Throwable and ignores the exception.
> See the attached screenshot, and notice the exception about 
> NoClassDefFoundException



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Assigned] (QPIDJMS-364) qpid-jms-client - May hide ClassNotFoundException when setting properties via FactoryFinder

2018-02-28 Thread Timothy Bish (JIRA)

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

Timothy Bish reassigned QPIDJMS-364:


Assignee: Timothy Bish

> qpid-jms-client - May hide ClassNotFoundException when setting properties via 
> FactoryFinder
> ---
>
> Key: QPIDJMS-364
> URL: https://issues.apache.org/jira/browse/QPIDJMS-364
> Project: Qpid JMS
>  Issue Type: Improvement
>  Components: qpid-jms-client
>Affects Versions: 0.29.0
>Reporter: Claus Ibsen
>Assignee: Timothy Bish
>Priority: Minor
> Attachments: Screen Shot 2018-02-28 at 09.52.46.png
>
>
> I had a problem in an Apache Camel AMQP example that would not work. It 
> turned out that it was a classpath issues with a missing JAR.
> However the real error I got was hidden as the qpid-jms-client catches a 
> Throwable and ignores the exception.
> See the attached screenshot, and notice the exception about 
> NoClassDefFoundException



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (PROTON-1774) [proton-j] performance improvements in sasl transport wrapper

2018-02-26 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved PROTON-1774.
--
Resolution: Fixed

> [proton-j] performance improvements in sasl transport wrapper
> -
>
> Key: PROTON-1774
> URL: https://issues.apache.org/jira/browse/PROTON-1774
> Project: Qpid Proton
>  Issue Type: Improvement
>  Components: proton-j
>Affects Versions: proton-j-0.26.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Minor
> Fix For: proton-j-0.27.0
>
>
> The SaslImpl class adds a TransportWrapper that deals with processing the 
> iincoming and outgoing sasl exchange work.  When complete the wrapper leaves 
> in place an implementation that must check on each new bit of work through 
> the transport if it is still in Sasl mode and hand off to the next wrapper 
> accordingly when not in Sasl.  This checking can lead to a small loss in 
> performance.  Instead a wrapper that delegates to a swappable next instance 
> can be switched once sasl is complete such that no checking is required after 
> the sasl exchange.
> As a side affect of this change the input and output buffers allocated to 
> handle sasl bytes in the exchange can be moved to the delegate 
> TransportWrapper that will be dropped after the exchange and that small bit 
> of memory can be freed by a future GC.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (PROTON-1774) [proton-j] performance improvements in sasl transport wrapper

2018-02-26 Thread Timothy Bish (JIRA)
Timothy Bish created PROTON-1774:


 Summary: [proton-j] performance improvements in sasl transport 
wrapper
 Key: PROTON-1774
 URL: https://issues.apache.org/jira/browse/PROTON-1774
 Project: Qpid Proton
  Issue Type: Improvement
  Components: proton-j
Affects Versions: proton-j-0.26.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: proton-j-0.27.0


The SaslImpl class adds a TransportWrapper that deals with processing the 
iincoming and outgoing sasl exchange work.  When complete the wrapper leaves in 
place an implementation that must check on each new bit of work through the 
transport if it is still in Sasl mode and hand off to the next wrapper 
accordingly when not in Sasl.  This checking can lead to a small loss in 
performance.  Instead a wrapper that delegates to a swappable next instance can 
be switched once sasl is complete such that no checking is required after the 
sasl exchange.

As a side affect of this change the input and output buffers allocated to 
handle sasl bytes in the exchange can be moved to the delegate TransportWrapper 
that will be dropped after the exchange and that small bit of memory can be 
freed by a future GC.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (PROTON-1767) [proton-j] Allow the Transport to expose an output buffer that is not read-only

2018-02-21 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved PROTON-1767.
--
Resolution: Fixed

Fixed by: 
https://github.com/apache/qpid-proton-j/commit/e7aae9469ac2f45a6de1822d7fe3cd2d4c8a314c

> [proton-j] Allow the Transport to expose an output buffer that is not 
> read-only
> ---
>
> Key: PROTON-1767
> URL: https://issues.apache.org/jira/browse/PROTON-1767
> Project: Qpid Proton
>  Issue Type: Improvement
>  Components: proton-j
>Affects Versions: proton-j-0.25.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Minor
> Fix For: proton-j-0.26.0
>
>
> In some cases the read-only output buffer exposed by TransportImpl by calling 
> head() or getOutputBuffer() can lead to extra intermediate copies of the 
> buffer based on the IO framework being used to transmit the bytes (such as 
> current Netty releases).  This is due to the fact that the read-only buffer 
> reports that it doesn't have a backing array so the frameworks try to work 
> around this to optimize the transfer of bytes.  For uses who are aware of 
> this and can ensure they never tamper with the buffer contents that aren't 
> consumed we should let them choose to expose a writable duplicate of the 
> output buffer.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (PROTON-1767) [proton-j] Allow the Transport to expose an output buffer that is not read-only

2018-02-21 Thread Timothy Bish (JIRA)
Timothy Bish created PROTON-1767:


 Summary: [proton-j] Allow the Transport to expose an output buffer 
that is not read-only
 Key: PROTON-1767
 URL: https://issues.apache.org/jira/browse/PROTON-1767
 Project: Qpid Proton
  Issue Type: Improvement
  Components: proton-j
Affects Versions: proton-j-0.25.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: proton-j-0.26.0


In some cases the read-only output buffer exposed by TransportImpl by calling 
head() or getOutputBuffer() can lead to extra intermediate copies of the buffer 
based on the IO framework being used to transmit the bytes (such as current 
Netty releases).  This is due to the fact that the read-only buffer reports 
that it doesn't have a backing array so the frameworks try to work around this 
to optimize the transfer of bytes.  For uses who are aware of this and can 
ensure they never tamper with the buffer contents that aren't consumed we 
should let them choose to expose a writable duplicate of the output buffer.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (PROTON-1756) [Proton-J] Runnable created on every Transfer frame send

2018-01-29 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved PROTON-1756.
--
Resolution: Fixed

> [Proton-J] Runnable created on every Transfer frame send
> 
>
> Key: PROTON-1756
> URL: https://issues.apache.org/jira/browse/PROTON-1756
> Project: Qpid Proton
>  Issue Type: Improvement
>  Components: proton-j
>Affects Versions: proton-j-0.25.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Trivial
> Fix For: proton-j-0.26.0
>
>
> On each outbound Transfer frame the TransportImpl creates a new Runnable to 
> handle overflow which sets the more value on the Transfer and rewrites the 
> frame body.  We can use a single instance to handle this and reduce the 
> amount of garbage create on send.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (PROTON-1756) [Proton-J] Runnable created on every Transfer frame send

2018-01-29 Thread Timothy Bish (JIRA)
Timothy Bish created PROTON-1756:


 Summary: [Proton-J] Runnable created on every Transfer frame send
 Key: PROTON-1756
 URL: https://issues.apache.org/jira/browse/PROTON-1756
 Project: Qpid Proton
  Issue Type: Improvement
  Components: proton-j
Affects Versions: proton-j-0.25.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: proton-j-0.26.0


On each outbound Transfer frame the TransportImpl creates a new Runnable to 
handle overflow which sets the more value on the Transfer and rewrites the 
frame body.  We can use a single instance to handle this and reduce the amount 
of garbage create on send.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (QPIDJMS-358) Duplicate Messages delivered over AMQPS connectivity using QPID Jars

2018-01-19 Thread Timothy Bish (JIRA)

[ 
https://issues.apache.org/jira/browse/QPIDJMS-358?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16332429#comment-16332429
 ] 

Timothy Bish commented on QPIDJMS-358:
--

Given that you've not yet identified what's changed or what might be happening 
this really isn't the place to be asking for support, this would be better 
suited for the users mailing list.

That said you should start by testing what is going on with logging enabled and 
also frame tracing on to see what is happening at the wire level.  
Documentation for the version you are using can be found here which describes 
how to turn on the tracing: 
[http://qpid.apache.org/releases/qpid-jms-0.11.1/docs/index.html]

Since the client has been working for quite some time and this suddenly started 
to happen I'd be looking further up the chain to see what's changed as that is 
more likely to be the culprit.  If a bug is found though any fix would be made 
only in the latest release of the client so you'd be well served to update to 
the latest and begin testing on that version. 

> Duplicate Messages delivered over AMQPS connectivity using QPID Jars
> 
>
> Key: QPIDJMS-358
> URL: https://issues.apache.org/jira/browse/QPIDJMS-358
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.11.1
>Reporter: Pooja Arora
>Priority: Critical
>
> Hello Team,
> We are using Apache QPID jars for AMQP  (JMS V1) to Azure Service Bus from 
> IBM Integration Bus(IIB V9.0).
> We use below jars :-
>  # qpid-jms-client-0.11.1.jar
>  # proton-j-0.14.0.jar
>  # qpid-jms-discovery-0.11.1.jar
>  # slf4j-api-1.7.21.jar
>  # geronimo-jms_1.1_spec-1.1.1.jar
> Below is our connection URL :
> connectionfactory.qpidConnectionFactory = 
> amqps://:?amqp.idleTimeout=15===true=1
> We connect to predefined subscriptions on an Azure Service Bus Topic.
> We have been using these jars for nearly a year now. Recently from past 2 
> weeks we are seeing some of the messages are delivered as duplicates with 
> same JMS Message ID. Sometime same message is delivered 30-40 times within a 
> second.
> Also we use same connection URL to different subscriptions (PROD and UAT) to 
> same topic from our UAT and PROD servers. So we receive same payload in both 
> the environments. And we have noticed that these duplicate counts vary from 
> UAT to PROD.
>  
> So looks like it can be some issue in the connection which is causing the 
> duplicates. As we have had the upstream teams check complete data flow logic 
> and we could not find any other place of duplicates.
>  
> Please suggest how we can debug this issue to find its RCA and related fix.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Closed] (QPIDJMS-358) Duplicate Messages delivered over AMQPS connectivity using QPID Jars

2018-01-19 Thread Timothy Bish (JIRA)

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

Timothy Bish closed QPIDJMS-358.

Resolution: Invalid

> Duplicate Messages delivered over AMQPS connectivity using QPID Jars
> 
>
> Key: QPIDJMS-358
> URL: https://issues.apache.org/jira/browse/QPIDJMS-358
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.11.1
>Reporter: Pooja Arora
>Priority: Critical
>
> Hello Team,
> We are using Apache QPID jars for AMQP  (JMS V1) to Azure Service Bus from 
> IBM Integration Bus(IIB V9.0).
> We use below jars :-
>  # qpid-jms-client-0.11.1.jar
>  # proton-j-0.14.0.jar
>  # qpid-jms-discovery-0.11.1.jar
>  # slf4j-api-1.7.21.jar
>  # geronimo-jms_1.1_spec-1.1.1.jar
> Below is our connection URL :
> connectionfactory.qpidConnectionFactory = 
> amqps://:?amqp.idleTimeout=15===true=1
> We connect to predefined subscriptions on an Azure Service Bus Topic.
> We have been using these jars for nearly a year now. Recently from past 2 
> weeks we are seeing some of the messages are delivered as duplicates with 
> same JMS Message ID. Sometime same message is delivered 30-40 times within a 
> second.
> Also we use same connection URL to different subscriptions (PROD and UAT) to 
> same topic from our UAT and PROD servers. So we receive same payload in both 
> the environments. And we have noticed that these duplicate counts vary from 
> UAT to PROD.
>  
> So looks like it can be some issue in the connection which is causing the 
> duplicates. As we have had the upstream teams check complete data flow logic 
> and we could not find any other place of duplicates.
>  
> Please suggest how we can debug this issue to find its RCA and related fix.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-355) Use the new Proton-J SaslListener API to simplify the sasl code

2018-01-17 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-355.
--
Resolution: Fixed

> Use the new Proton-J SaslListener API to simplify the sasl code
> ---
>
> Key: QPIDJMS-355
> URL: https://issues.apache.org/jira/browse/QPIDJMS-355
> Project: Qpid JMS
>  Issue Type: Improvement
>Affects Versions: 0.28.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Minor
> Fix For: 0.29.0
>
>
> Latest proton-j release provide a SASL event callback that can be used to 
> simplify the current implementation that must check sasl state on each 
> inbound read.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPIDJMS-356) Add support for a new session mode to make all consumers presettled

2018-01-17 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-356:


 Summary: Add support for a new session mode to make all consumers 
presettled
 Key: QPIDJMS-356
 URL: https://issues.apache.org/jira/browse/QPIDJMS-356
 Project: Qpid JMS
  Issue Type: New Feature
  Components: qpid-jms-client
Affects Versions: 0.28.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: 0.29.0


Adds support for creating session with a presettled, or no-acknowledge mode 
where all consumers created from the session operate as presettled receivers.

The integer session acknowledgement mode values supported  are 100 and 257.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPIDJMS-355) Use the new Proton-J SaslListener API to simplify the sasl code

2018-01-16 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-355:


 Summary: Use the new Proton-J SaslListener API to simplify the 
sasl code
 Key: QPIDJMS-355
 URL: https://issues.apache.org/jira/browse/QPIDJMS-355
 Project: Qpid JMS
  Issue Type: Improvement
Affects Versions: 0.28.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: 0.29.0


Latest proton-j release provide a SASL event callback that can be used to 
simplify the current implementation that must check sasl state on each inbound 
read.



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

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (QPIDJMS-353) Add pooled connection factory

2018-01-11 Thread Timothy Bish (JIRA)

[ 
https://issues.apache.org/jira/browse/QPIDJMS-353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16322554#comment-16322554
 ] 

Timothy Bish commented on QPIDJMS-353:
--

There aren't any plans to implement a Qpid JMS specific pooled connection 
factory.  There are already a few generic options that should work so there 
isn't really a need to invent a new one.

One option is to use the PooledConnectionFactory provided by ActiveMQ which is 
a JMS 1.1 based Connection pooling utility.  It is tested with Camel already as 
it is used to pool the ActiveMQ Connections.  You can find the docs 
[here|https://activemq.apache.org/maven/apidocs/org/apache/activemq/jms/pool/PooledConnectionFactory.html],
 and the maven artifacts are 
[here|https://mvnrepository.com/artifact/org.apache.activemq/activemq-pool/5.15.2].
  

Another option is [this|https://github.com/messaginghub/pooled-jms] JMS 2.0 
aware Connection pool which you can use via the maven artifacts 
[here|https://search.maven.org/#search%7Cga%7C1%7Ca%3A%22pooled-jms%22].

> Add pooled connection factory
> -
>
> Key: QPIDJMS-353
> URL: https://issues.apache.org/jira/browse/QPIDJMS-353
> Project: Qpid JMS
>  Issue Type: Improvement
>  Components: qpid-jms-client
>Affects Versions: 0.28.0
>Reporter: Nicola Ferraro
>
> A pooled connection factory was present in the amqp 0.x version of the 
> library, but is missing in the current one.
> I've done some tests with Apache Camel (camel-amqp) and every message sent to 
> a queue results into a new connection.
> A (always increasing) progressive number and a message about Sasl 
> authentication is printed for every message. I suspect this is a waste of 
> performance.
> Do you plan to add this feature?
> Relevant parts of the stack trace:
> {code}
> 10:13:03.161 [AmqpProvider :(3):[amqp://localhost:5672]] INFO  
> o.a.q.jms.sasl.SaslMechanismFinder - Best match for SASL auth was: SASL-PLAIN
> 10:13:03.201 [AmqpProvider :(3):[amqp://localhost:5672]] INFO  
> org.apache.qpid.jms.JmsConnection - Connection 
> ID:94d6f8bf-886f-46b2-8eff-af09f03dd46c:1 connected to remote Broker: 
> amqp://localhost:5672
> 10:13:03.240 [AmqpProvider :(4):[amqp://localhost:5672]] INFO  
> o.a.q.jms.sasl.SaslMechanismFinder - Best match for SASL auth was: SASL-PLAIN
> 10:13:03.255 [AmqpProvider :(4):[amqp://localhost:5672]] INFO  
> org.apache.qpid.jms.JmsConnection - Connection 
> ID:946b64b6-dbc3-4ce7-b178-55de6759c26b:2 connected to remote Broker: 
> amqp://localhost:5672
> 10:13:06.143 [AmqpProvider :(5):[amqp://localhost:5672]] INFO  
> o.a.q.jms.sasl.SaslMechanismFinder - Best match for SASL auth was: SASL-PLAIN
> 10:13:06.181 [AmqpProvider :(5):[amqp://localhost:5672]] INFO  
> org.apache.qpid.jms.JmsConnection - Connection 
> ID:89593ca0-a185-4e51-80ef-bb6bf3dfbbbd:3 connected to remote Broker: 
> amqp://localhost:5672
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Comment Edited] (QPIDJMS-353) Add pooled connection factory

2018-01-11 Thread Timothy Bish (JIRA)

[ 
https://issues.apache.org/jira/browse/QPIDJMS-353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16322554#comment-16322554
 ] 

Timothy Bish edited comment on QPIDJMS-353 at 1/11/18 4:58 PM:
---

There aren't any plans to implement a Qpid JMS specific pooled connection 
factory.  There are already a few generic options that should work so there 
isn't really a need to invent a new one.

One option is to use the PooledConnectionFactory provided by ActiveMQ which is 
a JMS 1.1 based Connection pooling utility.  It is tested with Camel already as 
it is used to pool the ActiveMQ Connections.  You can find the docs 
[here|https://activemq.apache.org/maven/apidocs/org/apache/activemq/jms/pool/PooledConnectionFactory.html],
 and the maven artifacts are 
[here|https://mvnrepository.com/artifact/org.apache.activemq/activemq-pool/5.15.2].
  

Another option is [this|https://github.com/messaginghub/pooled-jms] JMS 2.0 
aware Connection pool which you can use via the maven artifacts 
[here|https://search.maven.org/#search%7Cga%7C1%7Ca%3A%22pooled-jms%22].  This 
project has tests that use the Qpid JMS client library which you can use as a 
reference for configuring it.  


was (Author: tabish121):
There aren't any plans to implement a Qpid JMS specific pooled connection 
factory.  There are already a few generic options that should work so there 
isn't really a need to invent a new one.

One option is to use the PooledConnectionFactory provided by ActiveMQ which is 
a JMS 1.1 based Connection pooling utility.  It is tested with Camel already as 
it is used to pool the ActiveMQ Connections.  You can find the docs 
[here|https://activemq.apache.org/maven/apidocs/org/apache/activemq/jms/pool/PooledConnectionFactory.html],
 and the maven artifacts are 
[here|https://mvnrepository.com/artifact/org.apache.activemq/activemq-pool/5.15.2].
  

Another option is [this|https://github.com/messaginghub/pooled-jms] JMS 2.0 
aware Connection pool which you can use via the maven artifacts 
[here|https://search.maven.org/#search%7Cga%7C1%7Ca%3A%22pooled-jms%22].

> Add pooled connection factory
> -
>
> Key: QPIDJMS-353
> URL: https://issues.apache.org/jira/browse/QPIDJMS-353
> Project: Qpid JMS
>  Issue Type: Improvement
>  Components: qpid-jms-client
>Affects Versions: 0.28.0
>Reporter: Nicola Ferraro
>
> A pooled connection factory was present in the amqp 0.x version of the 
> library, but is missing in the current one.
> I've done some tests with Apache Camel (camel-amqp) and every message sent to 
> a queue results into a new connection.
> A (always increasing) progressive number and a message about Sasl 
> authentication is printed for every message. I suspect this is a waste of 
> performance.
> Do you plan to add this feature?
> Relevant parts of the stack trace:
> {code}
> 10:13:03.161 [AmqpProvider :(3):[amqp://localhost:5672]] INFO  
> o.a.q.jms.sasl.SaslMechanismFinder - Best match for SASL auth was: SASL-PLAIN
> 10:13:03.201 [AmqpProvider :(3):[amqp://localhost:5672]] INFO  
> org.apache.qpid.jms.JmsConnection - Connection 
> ID:94d6f8bf-886f-46b2-8eff-af09f03dd46c:1 connected to remote Broker: 
> amqp://localhost:5672
> 10:13:03.240 [AmqpProvider :(4):[amqp://localhost:5672]] INFO  
> o.a.q.jms.sasl.SaslMechanismFinder - Best match for SASL auth was: SASL-PLAIN
> 10:13:03.255 [AmqpProvider :(4):[amqp://localhost:5672]] INFO  
> org.apache.qpid.jms.JmsConnection - Connection 
> ID:946b64b6-dbc3-4ce7-b178-55de6759c26b:2 connected to remote Broker: 
> amqp://localhost:5672
> 10:13:06.143 [AmqpProvider :(5):[amqp://localhost:5672]] INFO  
> o.a.q.jms.sasl.SaslMechanismFinder - Best match for SASL auth was: SASL-PLAIN
> 10:13:06.181 [AmqpProvider :(5):[amqp://localhost:5672]] INFO  
> org.apache.qpid.jms.JmsConnection - Connection 
> ID:89593ca0-a185-4e51-80ef-bb6bf3dfbbbd:3 connected to remote Broker: 
> amqp://localhost:5672
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-352) Update Netty to latest 4.1.19.Final

2017-12-22 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-352.
--
Resolution: Fixed

> Update Netty to latest 4.1.19.Final
> ---
>
> Key: QPIDJMS-352
> URL: https://issues.apache.org/jira/browse/QPIDJMS-352
> Project: Qpid JMS
>  Issue Type: Task
>  Components: qpid-jms-client
>Affects Versions: 0.28.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Minor
> Fix For: 0.29.0
>
>




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPIDJMS-352) Update Netty to latest 4.1.19.Final

2017-12-22 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-352:


 Summary: Update Netty to latest 4.1.19.Final
 Key: QPIDJMS-352
 URL: https://issues.apache.org/jira/browse/QPIDJMS-352
 Project: Qpid JMS
  Issue Type: Task
  Components: qpid-jms-client
Affects Versions: 0.28.0
Reporter: Timothy Bish
Assignee: Timothy Bish
Priority: Minor
 Fix For: 0.29.0






--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (PROTON-1723) [proton-c] Building with sasl2-bin not installed results in test failure

2017-12-19 Thread Timothy Bish (JIRA)
Timothy Bish created PROTON-1723:


 Summary: [proton-c] Building with sasl2-bin not installed results 
in test failure
 Key: PROTON-1723
 URL: https://issues.apache.org/jira/browse/PROTON-1723
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-c
 Environment: Linux Mint 18.2
Reporter: Timothy Bish
Priority: Trivial


Building the latest upstream code and running the tests results in a failed 
test "ruby-test-container" on my Ubuntu based machine.  The INSTALL.md omits 
the need to install "sasl2-bin" which leads to the test failure.  The install 
guide needs an update but also the test might be made to check for that an 
maybe offer a better diagnostic or just not run on platforms that are missing 
the required dependencies for that test.

{noformat}
timothy@OfficePC ~/temp/0.20.0/qpid-proton-0.19.0/build $ ctest -V -R 
ruby-test-container
UpdateCTestConfiguration  from 
:/home/timothy/temp/0.20.0/qpid-proton-0.19.0/build/DartConfiguration.tcl
Parse Config 
file:/home/timothy/temp/0.20.0/qpid-proton-0.19.0/build/DartConfiguration.tcl
UpdateCTestConfiguration  from 
:/home/timothy/temp/0.20.0/qpid-proton-0.19.0/build/DartConfiguration.tcl
Parse Config 
file:/home/timothy/temp/0.20.0/qpid-proton-0.19.0/build/DartConfiguration.tcl
Test project /home/timothy/temp/0.20.0/qpid-proton-0.19.0/build
Constructing a list of tests
Done constructing a list of tests
Checking test dependency graph...
Checking test dependency graph end
test 18
Start 18: ruby-test-container
 
18: Test command: /usr/bin/python 
"/home/timothy/temp/0.20.0/qpid-proton-0.19.0/proton-c/env.py" "--" 
"PATH=/home/timothy/.local/bin:/home/timothy/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin:/home/timothy/temp/0.20.0/qpid-proton-0.19.0/build/proton-c/bindings/ruby:/home/timothy/temp/0.20.0/qpid-proton-0.19.0/build/proton-c"
 
"RUBYLIB=:/home/timothy/temp/0.20.0/qpid-proton-0.19.0/proton-c/bindings/ruby/lib:/home/timothy/temp/0.20.0/qpid-proton-0.19.0/proton-c/bindings/ruby/tests:/home/timothy/temp/0.20.0/qpid-proton-0.19.0/proton-c/bindings/ruby/spec:/home/timothy/temp/0.20.0/qpid-proton-0.19.0/build/proton-c/bindings/ruby:/home/timothy/temp/0.20.0/qpid-proton-0.19.0/build/proton-c"
 "SASLPASSWD=SASLPASSWD_EXE-NOTFOUND" "RUBYOPT=-W0" "/usr/bin/ruby" 
"/home/timothy/temp/0.20.0/qpid-proton-0.19.0/proton-c/bindings/ruby/tests/test_container.rb"
 "-v"
18: Test timeout computed to be: 1500
18: sh: 1: SASLPASSWD_EXE-NOTFOUND: not found
18: 
/home/timothy/temp/0.20.0/qpid-proton-0.19.0/proton-c/bindings/ruby/tests/test_container.rb:282:in
 `make_user': undefined local variable or method `makepw_cmd' for 
# (NameError)
18: from 
/home/timothy/temp/0.20.0/qpid-proton-0.19.0/proton-c/bindings/ruby/tests/test_container.rb:261:in
 `initialize'
18: from 
/home/timothy/temp/0.20.0/qpid-proton-0.19.0/proton-c/bindings/ruby/tests/test_container.rb:284:in
 `new'
18: from 
/home/timothy/temp/0.20.0/qpid-proton-0.19.0/proton-c/bindings/ruby/tests/test_container.rb:284:in
 `'
18: from 
/home/timothy/temp/0.20.0/qpid-proton-0.19.0/proton-c/bindings/ruby/tests/test_container.rb:249:in
 `'
18: from 
/home/timothy/temp/0.20.0/qpid-proton-0.19.0/proton-c/bindings/ruby/tests/test_container.rb:221:in
 `'
1/1 Test #18: ruby-test-container ..***Failed0.08 sec
{noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-351) Update Mockito to latest 2.13.0

2017-12-11 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-351.
--
Resolution: Fixed

> Update Mockito to latest 2.13.0
> ---
>
> Key: QPIDJMS-351
> URL: https://issues.apache.org/jira/browse/QPIDJMS-351
> Project: Qpid JMS
>  Issue Type: Task
>  Components: qpid-jms-client
>Affects Versions: 0.27.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Trivial
> Fix For: 0.28.0
>
>




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPIDJMS-351) Update Mockito to latest 2.13.0

2017-12-11 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-351:


 Summary: Update Mockito to latest 2.13.0
 Key: QPIDJMS-351
 URL: https://issues.apache.org/jira/browse/QPIDJMS-351
 Project: Qpid JMS
  Issue Type: Task
  Components: qpid-jms-client
Affects Versions: 0.27.0
Reporter: Timothy Bish
Assignee: Timothy Bish
Priority: Trivial
 Fix For: 0.28.0






--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-347) Update Netty to latest 4.1.18.Final

2017-12-11 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-347.
--
Resolution: Fixed

> Update Netty to latest 4.1.18.Final
> ---
>
> Key: QPIDJMS-347
> URL: https://issues.apache.org/jira/browse/QPIDJMS-347
> Project: Qpid JMS
>  Issue Type: Task
>  Components: qpid-jms-client
>Affects Versions: 0.27.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Trivial
> Fix For: 0.28.0
>
>
> Update to Netty 4.1.18.Final to pick up latest fixes



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Updated] (QPIDJMS-347) Update Netty to latest 4.1.18.Final

2017-12-11 Thread Timothy Bish (JIRA)

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

Timothy Bish updated QPIDJMS-347:
-
Description: Update to Netty 4.1.18.Final to pick up latest fixes  (was: 
Update to Netty 4.1.17.Final to pick up latest fixes)

> Update Netty to latest 4.1.18.Final
> ---
>
> Key: QPIDJMS-347
> URL: https://issues.apache.org/jira/browse/QPIDJMS-347
> Project: Qpid JMS
>  Issue Type: Task
>  Components: qpid-jms-client
>Affects Versions: 0.27.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Trivial
> Fix For: 0.28.0
>
>
> Update to Netty 4.1.18.Final to pick up latest fixes



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Reopened] (QPIDJMS-347) Update Netty to latest 4.1.17.Final

2017-12-11 Thread Timothy Bish (JIRA)

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

Timothy Bish reopened QPIDJMS-347:
--

Updating to 4.1.18.Final prior to next release.

> Update Netty to latest 4.1.17.Final
> ---
>
> Key: QPIDJMS-347
> URL: https://issues.apache.org/jira/browse/QPIDJMS-347
> Project: Qpid JMS
>  Issue Type: Task
>  Components: qpid-jms-client
>Affects Versions: 0.27.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Trivial
> Fix For: 0.28.0
>
>
> Update to Netty 4.1.17.Final to pick up latest fixes



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Updated] (QPIDJMS-347) Update Netty to latest 4.1.18.Final

2017-12-11 Thread Timothy Bish (JIRA)

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

Timothy Bish updated QPIDJMS-347:
-
Summary: Update Netty to latest 4.1.18.Final  (was: Update Netty to latest 
4.1.17.Final)

> Update Netty to latest 4.1.18.Final
> ---
>
> Key: QPIDJMS-347
> URL: https://issues.apache.org/jira/browse/QPIDJMS-347
> Project: Qpid JMS
>  Issue Type: Task
>  Components: qpid-jms-client
>Affects Versions: 0.27.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Trivial
> Fix For: 0.28.0
>
>
> Update to Netty 4.1.17.Final to pick up latest fixes



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (PROTON-1708) [proton-j] Improve performance of proton-j codec

2017-12-01 Thread Timothy Bish (JIRA)
Timothy Bish created PROTON-1708:


 Summary: [proton-j] Improve performance of proton-j codec
 Key: PROTON-1708
 URL: https://issues.apache.org/jira/browse/PROTON-1708
 Project: Qpid Proton
  Issue Type: Improvement
  Components: proton-j
Affects Versions: proton-j-0.23.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: proton-j-0.24.0


Several areas in the proton-j codec can be improved to provide overall 
improvements in both the encode and decode of AMQP types as well as reduce GC 
overhead with reduction in allocations of intermediate and helper objects.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Closed] (QPIDJMS-348) Be able to configure delay between retries in JmsRedeliveryPolicy

2017-11-21 Thread Timothy Bish (JIRA)

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

Timothy Bish closed QPIDJMS-348.

Resolution: Not A Problem

> Be able to configure delay between retries in JmsRedeliveryPolicy
> -
>
> Key: QPIDJMS-348
> URL: https://issues.apache.org/jira/browse/QPIDJMS-348
> Project: Qpid JMS
>  Issue Type: Improvement
>  Components: qpid-jms-client
>Affects Versions: 0.27.0
>Reporter: Riv
>
> I am wondering if it would possible to get a redelivery delay between 
> redelivery attempts. Similar to initialRedeliveryDelay in the redelivery 
> policy in the ActiveMQ client: 
> http://activemq.apache.org/message-redelivery-and-dlq-handling.html.
> I've found that in practice the redeliveries all happen immediately before 
> the system may be ready to handle it properly (a few seconds later).
> Thanks :)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (QPIDJMS-348) Be able to configure delay between retries in JmsRedeliveryPolicy

2017-11-21 Thread Timothy Bish (JIRA)

[ 
https://issues.apache.org/jira/browse/QPIDJMS-348?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16261317#comment-16261317
 ] 

Timothy Bish commented on QPIDJMS-348:
--

Redelivery for the AMQP JMS client is actually done on the broker side, the 
client does not control how fast the broker will redispatch those messages, in 
the case of ActiveMQ I think you would be able to control the rate via the 
broker redelivery plugin.

> Be able to configure delay between retries in JmsRedeliveryPolicy
> -
>
> Key: QPIDJMS-348
> URL: https://issues.apache.org/jira/browse/QPIDJMS-348
> Project: Qpid JMS
>  Issue Type: Improvement
>  Components: qpid-jms-client
>Affects Versions: 0.27.0
>Reporter: Riv
>
> I am wondering if it would possible to get a redelivery delay between 
> redelivery attempts. Similar to initialRedeliveryDelay in the redelivery 
> policy in the ActiveMQ client: 
> http://activemq.apache.org/message-redelivery-and-dlq-handling.html.
> I've found that in practice the redeliveries all happen immediately before 
> the system may be ready to handle it properly (a few seconds later).
> Thanks :)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-347) Update Netty to latest 4.1.17.Final

2017-11-16 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-347.
--
Resolution: Fixed

> Update Netty to latest 4.1.17.Final
> ---
>
> Key: QPIDJMS-347
> URL: https://issues.apache.org/jira/browse/QPIDJMS-347
> Project: Qpid JMS
>  Issue Type: Task
>  Components: qpid-jms-client
>Affects Versions: 0.27.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Trivial
> Fix For: 0.28.0
>
>
> Update to Netty 4.1.17.Final to pick up latest fixes



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPIDJMS-347) Update Netty to latest 4.1.17.Final

2017-11-16 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-347:


 Summary: Update Netty to latest 4.1.17.Final
 Key: QPIDJMS-347
 URL: https://issues.apache.org/jira/browse/QPIDJMS-347
 Project: Qpid JMS
  Issue Type: Task
  Components: qpid-jms-client
Affects Versions: 0.27.0
Reporter: Timothy Bish
Assignee: Timothy Bish
Priority: Trivial
 Fix For: 0.28.0


Update to Netty 4.1.17.Final to pick up latest fixes



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-344) FailoverWithAmqpOpenProvidedServerListIntegrationTest sporadic test failures in CI

2017-10-30 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-344.
--
Resolution: Fixed

> FailoverWithAmqpOpenProvidedServerListIntegrationTest sporadic test failures 
> in CI
> --
>
> Key: QPIDJMS-344
> URL: https://issues.apache.org/jira/browse/QPIDJMS-344
> Project: Qpid JMS
>  Issue Type: Improvement
>Affects Versions: 0.26.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Minor
> Fix For: 0.27.0
>
>
> During CI testing the failover integration tests that are checking that 
> updated failover URIs provided from remote peers are handled correctly have 
> been sporadically failing.  This is due to the way the updates are handled 
> from the remote leading to an event that can fire in an unexpected ordering 
> relative to the connection established / connection recovered events.  
> Because of the mixed ordering of events the integration tests can check the 
> updated URIs at the wrong time and not see the URI updates they are 
> expecting.  
> Refactoring the handling of the updated failover URs should be done to make 
> the ordering of how these are all handled consistent.  



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPIDJMS-344) FailoverWithAmqpOpenProvidedServerListIntegrationTest sporadic test failures in CI

2017-10-30 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-344:


 Summary: FailoverWithAmqpOpenProvidedServerListIntegrationTest 
sporadic test failures in CI
 Key: QPIDJMS-344
 URL: https://issues.apache.org/jira/browse/QPIDJMS-344
 Project: Qpid JMS
  Issue Type: Improvement
Affects Versions: 0.26.0
Reporter: Timothy Bish
Assignee: Timothy Bish
Priority: Minor
 Fix For: 0.27.0


During CI testing the failover integration tests that are checking that updated 
failover URIs provided from remote peers are handled correctly have been 
sporadically failing.  This is due to the way the updates are handled from the 
remote leading to an event that can fire in an unexpected ordering relative to 
the connection established / connection recovered events.  Because of the mixed 
ordering of events the integration tests can check the updated URIs at the 
wrong time and not see the URI updates they are expecting.  

Refactoring the handling of the updated failover URs should be done to make the 
ordering of how these are all handled consistent.  



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-343) Update testing dependencies (ActiveMQ and Mockito)

2017-10-23 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-343.
--
Resolution: Fixed

> Update testing dependencies (ActiveMQ and Mockito)
> --
>
> Key: QPIDJMS-343
> URL: https://issues.apache.org/jira/browse/QPIDJMS-343
> Project: Qpid JMS
>  Issue Type: Task
>  Components: qpid-jms-client
>Affects Versions: 0.26.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
> Fix For: 0.27.0
>
>
> Update the ActiveMQ and Mockito testing dependencies to latest releases 
> (5.15.2 and 2.11.0) 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPIDJMS-343) Update testing dependencies (ActiveMQ and Mockito)

2017-10-23 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-343:


 Summary: Update testing dependencies (ActiveMQ and Mockito)
 Key: QPIDJMS-343
 URL: https://issues.apache.org/jira/browse/QPIDJMS-343
 Project: Qpid JMS
  Issue Type: Task
  Components: qpid-jms-client
Affects Versions: 0.26.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: 0.27.0


Update the ActiveMQ and Mockito testing dependencies to latest releases (5.15.2 
and 2.11.0) 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-342) Missed connect error on start can lead to hung failover reconnect cycle

2017-10-17 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-342.
--
Resolution: Fixed

> Missed connect error on start can lead to hung failover reconnect cycle
> ---
>
> Key: QPIDJMS-342
> URL: https://issues.apache.org/jira/browse/QPIDJMS-342
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.26.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
> Fix For: 0.27.0
>
>
> In some cases where the jms.connectTimeout is tripped during socket level 
> connection and the failover transport bits are in use the client an fall into 
> a reconnect loop or stall waiting for an error callback that won't be 
> triggered.  
> One workaround exists which is to configure the transport level socket 
> connect timeout to be lower than the jms.connectionTimeout value



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPIDJMS-342) Missed connect error on start can lead to hung failover reconnect cycle

2017-10-17 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-342:


 Summary: Missed connect error on start can lead to hung failover 
reconnect cycle
 Key: QPIDJMS-342
 URL: https://issues.apache.org/jira/browse/QPIDJMS-342
 Project: Qpid JMS
  Issue Type: Bug
  Components: qpid-jms-client
Affects Versions: 0.26.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: 0.27.0


In some cases where the jms.connectTimeout is tripped during socket level 
connection and the failover transport bits are in use the client an fall into a 
reconnect loop or stall waiting for an error callback that won't be triggered.  

One workaround exists which is to configure the transport level socket connect 
timeout to be lower than the jms.connectionTimeout value



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-336) Refine failover reconnect behavior

2017-10-13 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-336.
--
Resolution: Fixed

> Refine failover reconnect behavior
> --
>
> Key: QPIDJMS-336
> URL: https://issues.apache.org/jira/browse/QPIDJMS-336
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.26.0
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Minor
> Fix For: 0.27.0
>
>
> The current failover behavior attempt to connect to one URI from the possible 
> list of failover URIs when attempting to reestablish the connect before it 
> applies the configured reconnect delay.  Instead it should attempt the full 
> batch before performing delay and backoff handling.  
> Also the reconnect attempts are counted per URI instead of once for each 
> cycle though the batch of available URIs meaning that if the value is to low 
> it might not be able to try all of the configured URIs before reaching the 
> max attempts.  Track the attempts for the complete batch instead to allow all 
> to be tried at least once before giving up.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Updated] (QPIDJMS-340) Build fails with group id is too big error

2017-10-13 Thread Timothy Bish (JIRA)

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

Timothy Bish updated QPIDJMS-340:
-
Fix Version/s: 0.27.0

> Build fails with group id is too big error
> --
>
> Key: QPIDJMS-340
> URL: https://issues.apache.org/jira/browse/QPIDJMS-340
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.26.0
>Reporter: Christopher L. Shannon
>Priority: Minor
> Fix For: 0.27.0
>
>
> In my environment when I'm trying to build from source the maven-assembly 
> plugin fails because my group id is apparently too big.  The solution for 
> this is to configure the maven-assembly-plugin with 
> {{posix}}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-339) Allow setting keystore and truststore type from system properties

2017-10-12 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-339.
--
Resolution: Fixed

> Allow setting keystore and truststore type from system properties
> -
>
> Key: QPIDJMS-339
> URL: https://issues.apache.org/jira/browse/QPIDJMS-339
> Project: Qpid JMS
>  Issue Type: Improvement
>  Components: qpid-jms-client
>Reporter: Timothy Bish
>Assignee: Timothy Bish
>Priority: Trivial
> Fix For: 0.27.0
>
>
> Read store type for key store and trust store from the java properties 
> *javax.net.ssl.keyStoreType* and *javax.net.ssl.trustStoreType* defaulting to 
> *JKS*



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPIDJMS-339) Allow setting keystore and truststore type from system properties

2017-10-12 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-339:


 Summary: Allow setting keystore and truststore type from system 
properties
 Key: QPIDJMS-339
 URL: https://issues.apache.org/jira/browse/QPIDJMS-339
 Project: Qpid JMS
  Issue Type: Improvement
  Components: qpid-jms-client
Reporter: Timothy Bish
Assignee: Timothy Bish
Priority: Trivial
 Fix For: 0.27.0


Read store type for key store and trust store from the java properties 
*javax.net.ssl.keyStoreType* and *javax.net.ssl.trustStoreType* defaulting to 
*JKS*



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Resolved] (QPIDJMS-338) SSL configuration should support setting keyStoreType and trustStoreType independently

2017-10-12 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved QPIDJMS-338.
--
   Resolution: Fixed
 Assignee: Timothy Bish
Fix Version/s: 0.27.0

> SSL configuration should support setting keyStoreType and trustStoreType 
> independently
> --
>
> Key: QPIDJMS-338
> URL: https://issues.apache.org/jira/browse/QPIDJMS-338
> Project: Qpid JMS
>  Issue Type: Improvement
>  Components: qpid-jms-client
>Reporter: Christopher L. Shannon
>Assignee: Timothy Bish
>Priority: Minor
> Fix For: 0.27.0
>
>
> Currently there is only one configuration option to set the keystore type 
> when configuration SSL and that option is {{transport.storeType}}.  However 
> sometimes it is useful to be able to set both the keyStoreType and 
> trustStoreType to different formats.  An example might be if the keyStore 
> format is pkcs11 (a hardware token) and the trust store is still jks or pkcs12
> I'm proposing adding two new configuration options called 
> {{transport.keyStoreType}} and {{transport.trustStoreType}} that can be set.  
> The existing option will still be there and if used will just set the both 
> types to the same thing. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Created] (QPIDJMS-336) Refine failover reconnect behavior

2017-10-09 Thread Timothy Bish (JIRA)
Timothy Bish created QPIDJMS-336:


 Summary: Refine failover reconnect behavior
 Key: QPIDJMS-336
 URL: https://issues.apache.org/jira/browse/QPIDJMS-336
 Project: Qpid JMS
  Issue Type: Bug
  Components: qpid-jms-client
Affects Versions: 0.26.0
Reporter: Timothy Bish
Assignee: Timothy Bish
Priority: Minor
 Fix For: 0.27.0


The current failover behavior attempt to connect to one URI from the possible 
list of failover URIs when attempting to reestablish the connect before it 
applies the configured reconnect delay.  Instead it should attempt the full 
batch before performing delay and backoff handling.  

Also the reconnect attempts are counted per URI instead of once for each cycle 
though the batch of available URIs meaning that if the value is to low it might 
not be able to try all of the configured URIs before reaching the max attempts. 
 Track the attempts for the complete batch instead to allow all to be tried at 
least once before giving up.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



[jira] [Commented] (QPIDJMS-261) Not possible to connect to IBM's IIB AMQP broker

2017-09-28 Thread Timothy Bish (JIRA)

[ 
https://issues.apache.org/jira/browse/QPIDJMS-261?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16185268#comment-16185268
 ] 

Timothy Bish commented on QPIDJMS-261:
--

The issue you are describing sounds as though it is QPIDJMS-282 which was fixed 
in v0.22.0 so my first suggestion would be to move to the latest release so 
that you have all the current fixes when you are doing your testing.  

> Not possible to connect to IBM's IIB AMQP broker
> 
>
> Key: QPIDJMS-261
> URL: https://issues.apache.org/jira/browse/QPIDJMS-261
> Project: Qpid JMS
>  Issue Type: Bug
>  Components: qpid-jms-client
>Affects Versions: 0.20.0
> Environment: Java 1.8
>Reporter: Tin Nguyen
> Attachments: qpid.0.11.1.log, qpid.0.11.1.pcapng, qpid.0.20.0.log, 
> qpid.0.20.0.pcapng
>
>
> With the latest 0.20 version I'm not able to connect to IBM's Integration Bus 
> running AMQP implementation (afaik it's just a rip off from qpid).
> Seems like something changed with the way qpid-jms handles SASL 
> authentication? It's working in 0.11.1 so I tried to look into the changes 
> but there were quite a few.
> I don't have access to the IBM server but the admin told me that my client 
> didn't get authenticated.
> log output from the qpid client:
> 2348 [AmqpProvider:(1):[amqp://SERVER:5672/TOPIC]] INFO  
> o.a.q.j.s.SaslMechanismFinder - Best match for SASL auth was: SASL-PLAIN
> 8120 [AmqpProvider:(1):[amqp://SERVER:5672/TOPIC]] WARN  
> o.a.q.j.p.a.b.AmqpResourceBuilder - Open of resource:(JmsConnectionInfo { 
> ID:9088d3b3-0cba-4fb4-bb87-207872077309:1, configuredURI = 
> amqp://SERVER:5672/TOPIC, connectedURI = null }) failed: AMQXR0041E: A 
> connection was not authorized for channel SYSTEM.DEF.AMQP received from 
> 10.2.190.60. MQRC 2035 MQRC_NOT_AUTHORIZED [condition = 
> amqp:unauthorized-access]
> 8121 [AmqpProvider:(1):[amqp://SERVER:5672/TOPIC]] INFO  
> o.a.q.j.p.a.AmqpProvider - Transport failed: An existing connection was 
> forcibly closed by the remote host
> Caught exception, exiting.
> javax.jms.JMSSecurityException: AMQXR0041E: A connection was not authorized 
> for channel SYSTEM.DEF.AMQP received from 10.2.10.60. MQRC 2035 
> MQRC_NOT_AUTHORIZED [condition = amqp:unauthorized-access]
> LOGS on IBM server
> 01/17/2017 01:40:21 PM - Process(51975.7) User(mqm) Program(java)
> Host(SERVER) Installation(Installation1)
> VRMF(9.0.0.0) QMgr(UUFNLB1E)
>
> AMQ5534: User ID 'hadoop' authentication failed
> EXPLANATION:
> The user ID and password supplied by the 'AMQP' program could not be
> authenticated. 
> Additional information: 'N/A'.
> ACTION:
> Ensure that the correct user ID and password are provided by the application.
> Ensure that the authentication repository is correctly configured. Look at
> previous error messages for any additional information.
> - amqzfuca.c : 4486 
> ---
> 01/17/2017 01:40:21 PM - Process(51975.7) User(mqm) Program(java)
> Host(SERVER) Installation(Installation1)
> VRMF(9.0.0.0) QMgr(UUFNLB1E)
>
> AMQ5542: The failed authentication check was caused by the queue manager
> CONNAUTH CHCKCLNT(REQDADM) configuration.
> EXPLANATION:
> The user ID 'hadoop' and its password were checked because the queue manager
> connection authority (CONNAUTH) configuration refers to an authentication
> information (AUTHINFO) object named 'SYSTEM.DEFAULT.AUTHINFO.IDPWOS' with
> CHCKCLNT(REQDADM). 
> This message accompanies a previous error to clarify the reason for the user 
> ID
> and password check.
> ACTION:
> Refer to the previous error for more information. 
> Ensure that a password is specified by the client application and that the
> password is correct for the user ID. The authentication configuration of the
> queue manager connection determines the user ID repository. For example, the
> local operating system user database or an LDAP server. 
> If the CHCKCLNT setting is OPTIONAL, the authentication check can be avoided 
> by
> not passing a user ID across the channel. For example, by omitting the MQCSP
> structure from the client MQCONNX API call. 
> To avoid the authentication check, you can amend the authentication
> configuration of the queue manager connection, but you should generally not
> allow unauthenticated remote access.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org



<    1   2   3   4   5   6   7   >