[jira] [Updated] (AMQ-5419) Disconnect between exclusive consumer documentation and functionality
[ 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
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
[ 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
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
[ 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
[ 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)