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.
---