[jira] [Updated] (AMQ-5419) Disconnect between exclusive consumer documentation and functionality

2014-11-04 Thread james (JIRA)

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

james updated AMQ-5419:
---
Attachment: ExclusiveConsumerNetworkTest.java

So, i was trying to create a unit test that worked, so i could figure out which 
scenario worked and which didn't.  this was my first attempt at a basic 
setup, but it doesn't seem to work reliably.  occassionally it works, but 
usually it fails.  Any suggestions on how i might be setting this up 
incorrectly?

 Disconnect between exclusive consumer documentation and functionality
 -

 Key: AMQ-5419
 URL: https://issues.apache.org/jira/browse/AMQ-5419
 Project: ActiveMQ
  Issue Type: Bug
  Components: Documentation
Affects Versions: 5.9.1
Reporter: james
Priority: Critical
 Attachments: ExclusiveConsumerNetworkTest.java


 The [exclusive consumer 
 documentation|http://activemq.apache.org/exclusive-consumer.html] seems 
 indicates that this feature is enabled for a given consumer.  In practice, 
 however, the feature seems to be tied to the connection as well as the 
 consumer.  If a consumer with the exclusive flag enabled is created using a 
 connection without the exclusive flag enabled, the consumer will behave 
 like a normal consumer.  The exclusive feature will only work if the 
 connection associated with the consumer also has the exclusive flag 
 enabled.  I marked this as a documentation bug, but it's possible that the 
 documentation is the intended behavior and there is actually a code problem?
 See this thread for more details on my exploration of this feature: 
 http://activemq.2283324.n4.nabble.com/exclusive-consumer-doesn-t-seem-to-be-working-tt4686733.html
  .



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (AMQ-5421) AbortSlowAckConsumerStratagy can cause errors due to concurrent access to internal state

2014-11-04 Thread Timothy Bish (JIRA)
Timothy Bish created AMQ-5421:
-

 Summary: AbortSlowAckConsumerStratagy can cause errors due to 
concurrent access to internal state
 Key: AMQ-5421
 URL: https://issues.apache.org/jira/browse/AMQ-5421
 Project: ActiveMQ
  Issue Type: Bug
  Components: Broker
Affects Versions: 5.10.0, 5.9.1
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: 5.11.0


When there are destinations being created and destroyed concurrently such as 
temp queue instances it is possible to get into a concurrent modification state 
during updates of the AbortSlowAckConsumerStrategy instance.  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (AMQ-5421) AbortSlowAckConsumerStratagy can cause errors due to concurrent access to internal state

2014-11-04 Thread Timothy Bish (JIRA)

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

Timothy Bish resolved AMQ-5421.
---
Resolution: Fixed

Fixed on trunk

 AbortSlowAckConsumerStratagy can cause errors due to concurrent access to 
 internal state
 

 Key: AMQ-5421
 URL: https://issues.apache.org/jira/browse/AMQ-5421
 Project: ActiveMQ
  Issue Type: Bug
  Components: Broker
Affects Versions: 5.9.1, 5.10.0
Reporter: Timothy Bish
Assignee: Timothy Bish
 Fix For: 5.11.0


 When there are destinations being created and destroyed concurrently such as 
 temp queue instances it is possible to get into a concurrent modification 
 state during updates of the AbortSlowAckConsumerStrategy instance.  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (AMQ-5422) Windows bat script doesn't work when run from a directory with spaces

2014-11-04 Thread Jesse Fugitt (JIRA)
Jesse Fugitt created AMQ-5422:
-

 Summary: Windows bat script doesn't work when run from a directory 
with spaces
 Key: AMQ-5422
 URL: https://issues.apache.org/jira/browse/AMQ-5422
 Project: ActiveMQ
  Issue Type: Bug
  Components: Broker
Affects Versions: 5.10.0
Reporter: Jesse Fugitt


When you attempt to run ActiveMQ on Windows with the activemq.bat file from a 
directory with spaces (ex: C:\Program Files), you get JVM related error about 
main class not found.  The problem is that one of the -D values in the 
ACTIVEMQ_OPTS line needs to have double quotes around it.  Will attach a patch 
to fix the problem.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (AMQ-5422) Windows bat script doesn't work when run from a directory with spaces

2014-11-04 Thread Jesse Fugitt (JIRA)

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

Jesse Fugitt updated AMQ-5422:
--
Attachment: AMQ5422.patch

Patch to fix windows bat problem.

 Windows bat script doesn't work when run from a directory with spaces
 -

 Key: AMQ-5422
 URL: https://issues.apache.org/jira/browse/AMQ-5422
 Project: ActiveMQ
  Issue Type: Bug
  Components: Broker
Affects Versions: 5.10.0
Reporter: Jesse Fugitt
 Attachments: AMQ5422.patch


 When you attempt to run ActiveMQ on Windows with the activemq.bat file from a 
 directory with spaces (ex: C:\Program Files), you get JVM related error 
 about main class not found.  The problem is that one of the -D values in the 
 ACTIVEMQ_OPTS line needs to have double quotes around it.  Will attach a 
 patch to fix the problem.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (AMQ-5382) MQTT messages published after unsubscribe on a durable topic are received

2014-11-04 Thread AR (JIRA)

[ 
https://issues.apache.org/jira/browse/AMQ-5382?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14197477#comment-14197477
 ] 

AR commented on AMQ-5382:
-

What requirements in MQTT are you referring to specifically that require 
retroactive subs? Pubs with retain=1 ?

 MQTT messages published after unsubscribe on a durable topic are received
 -

 Key: AMQ-5382
 URL: https://issues.apache.org/jira/browse/AMQ-5382
 Project: ActiveMQ
  Issue Type: Bug
  Components: MQTT
Affects Versions: 5.11.0
Reporter: AR
  Labels: MQTT

 Test procedure:
 Create a durable subscription to topic durableunsubtest with clientid 
 durableUnsub.
 Publish a message with client2 to topic durableunsubtest. Make sure 
 retain flag is not set.
 Verify that the message is received (confirming creation of durable 
 subscription).
 Unsubscribe from topic durableunsubtest from clientid durableUnsub. 
 Disconnect client.
 Publish another message with client2.  Make sure retain flag is not set.
 Connect durableUnsub and subscribe to the topic again.
 Verify that no messages are received.
 JUnit Test Case code:
 {noformat}
 /*
  * Test unsubscribe on a durable subscription topic
  */
 @Test(timeout = 60 * 1000)
 public void testDurableUnsubscribe() throws Exception {
   // Create connection1
 final String clientId = durableUnsub;
 MQTT mqtt1 = createMQTTConnection(clientId, false);
 mqtt1.setKeepAlive((short) 60);
 final BlockingConnection connection1 = mqtt1.blockingConnection();
 connection1.connect();
 
 // create a durable subscription for client durableUnsub
 final String TOPICNAME = durableunsubtest;
 final String payload = durable unsub test;
 Topic[] topic = { new Topic(TOPICNAME, QoS.AT_LEAST_ONCE) };
 connection1.subscribe(topic);
 // Create connection2 and publish a message on the topic
 MQTT mqtt2 = createMQTTConnection(null, true);
 mqtt2.setKeepAlive((short) 60);
 final BlockingConnection connection2 = mqtt2.blockingConnection();
 connection2.connect();
 connection2.publish(TOPICNAME, payload.getBytes(), QoS.EXACTLY_ONCE, 
 false);
 // Verify that the durable subscription was created by receiving the 
 message
 // on connection1
 Message message = connection1.receive(10, TimeUnit.SECONDS);
 assertNotNull(message);
 message.ack();
 assertEquals(Unexpected String received, payload, new 
 String(message.getPayload()));
 // Unsubscribe the topic on connection1
 connection1.unsubscribe(new String[]{TOPICNAME});
 // Disconnect connection1
 connection1.disconnect();
 
 // Publish another message on connection2 for the same topic
 MQTT mqtt2a = createMQTTConnection(null, true);
 mqtt2a.setKeepAlive((short) 60);
 final BlockingConnection connection2a = mqtt2a.blockingConnection();
 connection2a.connect();
 connection2a.publish(TOPICNAME, payload.getBytes(), QoS.EXACTLY_ONCE, 
 false);

 // Create connection3 with the same clientid durableUnsub
 // and subscribe to the topic
 MQTT mqtt3 = createMQTTConnection(clientId, false);
 mqtt3.setKeepAlive((short) 60);
 BlockingConnection connection3 = mqtt3.blockingConnection();
 connection3.connect();
 connection3.subscribe(topic);
 message = connection3.receive(10, TimeUnit.SECONDS);
 // Since we have unsubscribed before the publish, we should not 
 receive
 // any message (retain flag was also not set during publish)
 assertNull(message); 
 }
 {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)