You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by jbertram <gi...@git.apache.org> on 2016/07/21 20:09:50 UTC
[GitHub] activemq-artemis pull request #653: ARTEMIS-548 Stomp durable sub unsubscrbe
GitHub user jbertram opened a pull request:
https://github.com/apache/activemq-artemis/pull/653
ARTEMIS-548 Stomp durable sub unsubscrbe
Implement ability for Stomp clients to unsubscribe durable
subscriptions.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/jbertram/activemq-artemis ARTEMIS-548
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/activemq-artemis/pull/653.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #653
----
commit b6a026bbc5a8df326798bb32ce9f2c5548e1d8cb
Author: jbertram <jb...@apache.org>
Date: 2016-07-21T19:10:04Z
ARTEMIS-548 Stomp durable sub unsubscrbe
Implement ability for Stomp clients to unsubscribe durable
subscriptions.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] activemq-artemis issue #653: ARTEMIS-548 Stomp durable sub unsubscrbe
Posted by mtaylor <gi...@git.apache.org>.
Github user mtaylor commented on the issue:
https://github.com/apache/activemq-artemis/pull/653
@jbertram It looks like subscribe in STOMP is broker completely. It might be worth looking at it before we rework unsubscribe. The subscription queues are not unique across connections.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] activemq-artemis pull request #653: ARTEMIS-548 Stomp durable sub unsubscrbe
Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:
https://github.com/apache/activemq-artemis/pull/653
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] activemq-artemis issue #653: ARTEMIS-548 Stomp durable sub unsubscrbe
Posted by jbertram <gi...@git.apache.org>.
Github user jbertram commented on the issue:
https://github.com/apache/activemq-artemis/pull/653
There's a handful of Stomp subscriber tests running without issues. Can you clarify a bit on what is broken. If you can outline a specific use-case then I can write a test for it.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] activemq-artemis pull request #653: ARTEMIS-548 Stomp durable sub unsubscrbe
Posted by johnament <gi...@git.apache.org>.
Github user johnament commented on a diff in the pull request:
https://github.com/apache/activemq-artemis/pull/653#discussion_r71780013
--- Diff: artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompProtocolManager.java ---
@@ -393,7 +393,8 @@ public void unsubscribe(StompConnection connection,
String subscriptionID,
String durableSubscriberName) throws Exception {
StompSession stompSession = getSession(connection);
- boolean unsubscribed = stompSession.unsubscribe(subscriptionID, durableSubscriberName);
+ String clientID = (connection.getClientID() != null) ? connection.getClientID() : null;
--- End diff --
null check looks redundant, its always the value of `connection.getClientID()`
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] activemq-artemis issue #653: ARTEMIS-548 Stomp durable sub unsubscrbe
Posted by mtaylor <gi...@git.apache.org>.
Github user mtaylor commented on the issue:
https://github.com/apache/activemq-artemis/pull/653
@jbertram I noticed this when looking at unsubscribe: https://github.com/apache/activemq-artemis/blob/master/artemis-protocols/artemis-stomp-protocol/src/main/java/org/apache/activemq/artemis/core/protocol/stomp/StompSession.java#L323
It could just be unsubscribe that's behaving funny...
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---
[GitHub] activemq-artemis issue #653: ARTEMIS-548 Stomp durable sub unsubscrbe
Posted by mtaylor <gi...@git.apache.org>.
Github user mtaylor commented on the issue:
https://github.com/apache/activemq-artemis/pull/653
From looking at the code I believe normal subscription queues are not encapsulated via connection and instead are global. Specifically, the subscription queue name is based on the subscription id. This is only unique in the context of the connection. Another connection could specify the same subscription id for something else completely.
This could result in:
1. Client 2 receives messages from the wrong address.
2. Client 1 unsubscribe deletes Client 2 subscription queue.
3. When both addresses are the same, p2p semantics instead of pub/sub.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---