You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Ricardo Ramalho (JIRA)" <ji...@apache.org> on 2010/12/10 12:16:00 UTC

[jira] Created: (AMQ-3080) Wildcard (*) only matches existing (known) topics at subscription time. Topics created after subscribing are ignored

Wildcard (*) only matches existing (known) topics at subscription time. Topics created after subscribing are ignored
--------------------------------------------------------------------------------------------------------------------

                 Key: AMQ-3080
                 URL: https://issues.apache.org/jira/browse/AMQ-3080
             Project: ActiveMQ
          Issue Type: Bug
          Components: Broker
    Affects Versions: 5.5.0
         Environment: RHEL 5, Kernel 2.6.18-128.el5xen, OpenJDK 1.6.0-b09 64-bit
            Reporter: Ricardo Ramalho
             Fix For: 5.5.0


When subscribing to a topic using asterisks (*), only topics that existed prior to subscription are subscribed. Topics created afterward are ignored.
The > wildcard does not have this behaviour. It also subscribes topics created after the subscription.

To trigger the bug:

1. Restart ActiveMQ, so that it is started with no topics.

2. Subscribe to *.*.rgr.bam.>

3. Publish to a.b.rgr.bam.a
4. Publish to a.b.rgr.bam.b
5. Publish to a.b.rgr.bam.c

# 3, 4 and 5 will not be visible by 2, because no topics existed when 2 subscribed

6. Kill subscriber 2. Restart it, subscribing again to *.*.rgr.bam.>

7. Publish to a.b.rgr.bam.a
8. Publish to a.b.rgr.bam.b
9. Publish to a.b.rgr.bam.c

# 7,8 and 9 will now be seen by 6, because the topics were created before 6's subscription

10. Publish to a.b.rgr.bam.d
11. Publish to a.b.rgr.bam.e
12. Publish to a.b.rgr.bam.f

# Again, 10, 11 and 12 will not be seen by 6

Final toughts:
If you subscribe to > during this tests, all messages will be received. I beleive this should also be the behaviour of the * wildcard. 3 and 6 should also see all events.

For the test, I used stompcat to publish, and a small java program to subscribe (using activewire).
I also verified (using tcpdump) that ActiveMQ did not send the missing messages to 3 and 6, so the problem should be there, not on the client libraries.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] [Updated] (AMQ-3080) Wildcard (*) only matches existing (known) topics at subscription time. Topics created after subscribing are ignored

Posted by "Gary Tully (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AMQ-3080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Tully updated AMQ-3080:
----------------------------

    Fix Version/s:     (was: 5.5.0)
                   5.6.0

> Wildcard (*) only matches existing (known) topics at subscription time. Topics created after subscribing are ignored
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-3080
>                 URL: https://issues.apache.org/jira/browse/AMQ-3080
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.5.0
>         Environment: RHEL 5, Kernel 2.6.18-128.el5xen, OpenJDK 1.6.0-b09 64-bit
>            Reporter: Ricardo Ramalho
>             Fix For: 5.6.0
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> When subscribing to a topic using asterisks ( * ), only topics that existed prior to subscription are subscribed. Topics created afterward are ignored.
> The > wildcard does not have this behaviour. It also subscribes topics created after the subscription.
> To trigger the bug:
> 1. Restart ActiveMQ, so that it is started with no topics.
> 2. Subscribe to *.*.rgr.bam.>
> 3. Publish to a.b.rgr.bam.a
> 4. Publish to a.b.rgr.bam.b
> 5. Publish to a.b.rgr.bam.c
> # 3, 4 and 5 will not be visible by 2, because no topics existed when 2 subscribed
> 6. Kill subscriber 2. Restart it, subscribing again to *.*.rgr.bam.>
> 7. Publish to a.b.rgr.bam.a
> 8. Publish to a.b.rgr.bam.b
> 9. Publish to a.b.rgr.bam.c
> # 7,8 and 9 will now be seen by 6, because the topics were created before 6's subscription
> 10. Publish to a.b.rgr.bam.d
> 11. Publish to a.b.rgr.bam.e
> 12. Publish to a.b.rgr.bam.f
> # Again, 10, 11 and 12 will not be seen by 6
> Final toughts:
> If you subscribe to > during this tests, all messages will be received. I beleive this should also be the behaviour of the * wildcard. 3 and 6 should also see all events.
> For the test, I used stompcat to publish, and a small java program to subscribe (using activewire).
> I also verified (using tcpdump) that ActiveMQ did not send the missing messages to 3 and 6, so the problem should be there, not on the client libraries.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

[jira] Updated: (AMQ-3080) Wildcard (*) only matches existing (known) topics at subscription time. Topics created after subscribing are ignored

Posted by "Ricardo Ramalho (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/AMQ-3080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ricardo Ramalho updated AMQ-3080:
---------------------------------

           Description: 
When subscribing to a topic using asterisks ( * ), only topics that existed prior to subscription are subscribed. Topics created afterward are ignored.
The > wildcard does not have this behaviour. It also subscribes topics created after the subscription.

To trigger the bug:

1. Restart ActiveMQ, so that it is started with no topics.

2. Subscribe to *.*.rgr.bam.>

3. Publish to a.b.rgr.bam.a
4. Publish to a.b.rgr.bam.b
5. Publish to a.b.rgr.bam.c

# 3, 4 and 5 will not be visible by 2, because no topics existed when 2 subscribed

6. Kill subscriber 2. Restart it, subscribing again to *.*.rgr.bam.>

7. Publish to a.b.rgr.bam.a
8. Publish to a.b.rgr.bam.b
9. Publish to a.b.rgr.bam.c

# 7,8 and 9 will now be seen by 6, because the topics were created before 6's subscription

10. Publish to a.b.rgr.bam.d
11. Publish to a.b.rgr.bam.e
12. Publish to a.b.rgr.bam.f

# Again, 10, 11 and 12 will not be seen by 6

Final toughts:
If you subscribe to > during this tests, all messages will be received. I beleive this should also be the behaviour of the * wildcard. 3 and 6 should also see all events.

For the test, I used stompcat to publish, and a small java program to subscribe (using activewire).
I also verified (using tcpdump) that ActiveMQ did not send the missing messages to 3 and 6, so the problem should be there, not on the client libraries.

  was:
When subscribing to a topic using asterisks (*), only topics that existed prior to subscription are subscribed. Topics created afterward are ignored.
The > wildcard does not have this behaviour. It also subscribes topics created after the subscription.

To trigger the bug:

1. Restart ActiveMQ, so that it is started with no topics.

2. Subscribe to *.*.rgr.bam.>

3. Publish to a.b.rgr.bam.a
4. Publish to a.b.rgr.bam.b
5. Publish to a.b.rgr.bam.c

# 3, 4 and 5 will not be visible by 2, because no topics existed when 2 subscribed

6. Kill subscriber 2. Restart it, subscribing again to *.*.rgr.bam.>

7. Publish to a.b.rgr.bam.a
8. Publish to a.b.rgr.bam.b
9. Publish to a.b.rgr.bam.c

# 7,8 and 9 will now be seen by 6, because the topics were created before 6's subscription

10. Publish to a.b.rgr.bam.d
11. Publish to a.b.rgr.bam.e
12. Publish to a.b.rgr.bam.f

# Again, 10, 11 and 12 will not be seen by 6

Final toughts:
If you subscribe to > during this tests, all messages will be received. I beleive this should also be the behaviour of the * wildcard. 3 and 6 should also see all events.

For the test, I used stompcat to publish, and a small java program to subscribe (using activewire).
I also verified (using tcpdump) that ActiveMQ did not send the missing messages to 3 and 6, so the problem should be there, not on the client libraries.

    Remaining Estimate: 24h
     Original Estimate: 24h

> Wildcard (*) only matches existing (known) topics at subscription time. Topics created after subscribing are ignored
> --------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQ-3080
>                 URL: https://issues.apache.org/jira/browse/AMQ-3080
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Broker
>    Affects Versions: 5.5.0
>         Environment: RHEL 5, Kernel 2.6.18-128.el5xen, OpenJDK 1.6.0-b09 64-bit
>            Reporter: Ricardo Ramalho
>             Fix For: 5.5.0
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> When subscribing to a topic using asterisks ( * ), only topics that existed prior to subscription are subscribed. Topics created afterward are ignored.
> The > wildcard does not have this behaviour. It also subscribes topics created after the subscription.
> To trigger the bug:
> 1. Restart ActiveMQ, so that it is started with no topics.
> 2. Subscribe to *.*.rgr.bam.>
> 3. Publish to a.b.rgr.bam.a
> 4. Publish to a.b.rgr.bam.b
> 5. Publish to a.b.rgr.bam.c
> # 3, 4 and 5 will not be visible by 2, because no topics existed when 2 subscribed
> 6. Kill subscriber 2. Restart it, subscribing again to *.*.rgr.bam.>
> 7. Publish to a.b.rgr.bam.a
> 8. Publish to a.b.rgr.bam.b
> 9. Publish to a.b.rgr.bam.c
> # 7,8 and 9 will now be seen by 6, because the topics were created before 6's subscription
> 10. Publish to a.b.rgr.bam.d
> 11. Publish to a.b.rgr.bam.e
> 12. Publish to a.b.rgr.bam.f
> # Again, 10, 11 and 12 will not be seen by 6
> Final toughts:
> If you subscribe to > during this tests, all messages will be received. I beleive this should also be the behaviour of the * wildcard. 3 and 6 should also see all events.
> For the test, I used stompcat to publish, and a small java program to subscribe (using activewire).
> I also verified (using tcpdump) that ActiveMQ did not send the missing messages to 3 and 6, so the problem should be there, not on the client libraries.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.