[EnMasse] Topics and subscriptions in Enmasse 0.24.1

Bob Claerhout bob.claerhout at aloxy.io
Mon Jan 21 15:11:15 UTC 2019


Hi Rob,

I've been trying to test this once more. I can't seem to subscribe to the correct queue/topic.
If I have a topic called "topic" and a subscription called "subscription" which points to "topic" I can't subscribe to "subscription". When I subscribe to "topic" I receive the messages. When I subscribe to "topic/#" I receive each message twice.
I might be doing something wrong here. Any suggestions?

Kind regards,
Bob

On 1/18/19 6:26 PM, Rob Godfrey wrote:


On Fri, 18 Jan 2019 at 17:27, Bob Claerhout <bob.claerhout at aloxy.io<mailto:bob.claerhout at aloxy.io>> wrote:
Hi Rob,

Thanks for your quick response. The sharded topic is indeed working as expected. I also saw a new pull request containing a fix for this issue. Nice!

No problem - sorry you ran into that issue!

Glad to hear my assumptions(please correct me if I'm wrong) are correct concerning the topic (except for the the pattern). Do you have any idea on when this pattern matching for subscriptions will be implemented?


It's not currently scheduled - though we are about to start thinking about what we'll be working on for the next release after 0.26.  As above, I'm not saying it definitely doesn't do already do the wildcard matching, I just don't *think* it does :)  (If you test it and it does indeed work as expected then let me know and I'll correct my understanding).  It's worth creating an issue (enhancement) for it in GitHub and then we'll not lose track of it.

Cheers,
Rob

Kind regards,
Bob







On 1/18/19 5:05 PM, Rob Godfrey wrote:
Hi Bob,

On Fri, 18 Jan 2019 at 15:14, Bob Claerhout <bob.claerhout at aloxy.io<mailto:bob.claerhout at aloxy.io>> wrote:
Hi all,

I'm in the dark about the topics and subscriptions in Enmasse.
I'm currently using a standard addressspace in Enmasse 0.24.1 and using the documentation from http://enmasse.io/documentation/0.24.1/openshift/#con-standard-address-space-messaging. Also I'm using qpid-bow as the consumer and publisher (https://github.com/Bynder/qpid-bow).
I'm having two questions:
My first questions is about the wildcards:
The documentation states that:

  *   a/#/b matches a/foo/b, a/bar/b, and a/foo/bar/b
  *   a/+/b matches a/foo/b and a/bar/b, but would not match a/foo/bar

I've created a topic address "addressspace/test".
I'm performing my subscriptions using following command: "qb message receive addressspace/test".
I'm performing my publications using following command: "qb message send addressspace/test message".

When I'm subscribing to "addressspace/test" and publishing to "addressspace/test" the subscriber receives the message.
When I'm subscribing to "addressspace/test/foo" and publishing to "addressspace/test/foo" the subscriber receives the message.
However, when I'm subscribing to "addressspace/test/+" and publishing to "addressspace/test/foo" the subscriber does not receive the message although stated by the documentation. When I publish to "addressspace/test/+" it is received by the subscriber.
Also, when I'm subscribing to "addressspace/test/#" and publishing to "addressspace/test/foo" the subscriber does not receive the message although stated by the documentation. When I publish to "addressspace/test/#" it is received by the subscriber.
When I'm subscribing to "addressspace/test.*" and publishing to "addressspace/test.foo" the subscriber also receives the message. I got this from the automated tests.
Can somebody point me towards what I'm doing wrong or did I wrongly interpreted the documentation?


Unfortunately you are possibly doing nothing wrong, and it is probably a bug.  For your topic, which "plan" are you using?  Reviewing the configuration it looks like there's a but in EnMasse that for small (pooled) topics the pattern matching is not being correctly applied.  For large (sharded) topics the pattern matching configuration looks correct in the code.  If you are using a pooled topic, can you re-test with a sharded topic and see if it works for you then?

My second question is about the subscription address.
Just verifying my assumptions:
Say I have a topic "test" and I create a subscription, called "foo", on topic "test/foo/+" every message on topic "test/foo/[anything]"(if my assumption in the previous question is correct) should be forwarded and stored in the subscription "foo". When a client connects to "foo", it receives all messages in the queue.
When I have the same topic "test" and I create an additional subscription, called "bar", on topic "test/foo/bar" every message on topic "test/foo/bar" should be forwarded and stored in both subscription "foo" and "bar". When a client connects to "foo", it will receive all messages to "test/foo/+" including the ones to "test/foo/bar". When a client connects to "bar" it will receive all message to "test/foo/bar".
Are my assumptions correct?

Additional sub question:
I'm trying to create a subscription using following yaml template, is this correct?
- kind: Address
  apiVersion: enmasse.io/v1alpha1<http://enmasse.io/v1alpha1>
  metadata:
    name: foo
  spec:
    address: foo
    topic: test/foo/+
    type: topic
    plan: standard-small-topic


I don't believe that subscription addresses currently support subscribing to a pattern (rather only to the root of a topic).  I may be wrong, but that is probably an (obvious) enhancement request.

Can somebody please clarify these things for me and maybe provide working examples?

Hope this helps a little
-- Rob

Thanks!

Bob Claerhout
--

[cid:part6.E0A288B7.6F1E2289 at aloxy.io]  Bob Claerhout
Software developer
M +32 479 34 84 92
The Beacon, Sint-Pietersvliet 7, 2000
Antwerp
bob.claerhout at aloxy.io<mailto:bob.claerhout at aloxy.io> | www.aloxy.io<http://www.aloxy.io>
_______________________________________________
enmasse mailing list
enmasse at redhat.com<mailto:enmasse at redhat.com>
https://www.redhat.com/mailman/listinfo/enmasse


--
_____________________________________________________________________________

Red Hat GmbH, www.de.redhat.com<http://www.de.redhat.com/>,
Registered seat: Grasbrunn, Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Paul Argiry, Charles Cachera, Michael Cunningham, Michael O'Neill



--
_____________________________________________________________________________

Red Hat GmbH, www.de.redhat.com<http://www.de.redhat.com/>,
Registered seat: Grasbrunn, Commercial register: Amtsgericht Muenchen, HRB 153243,
Managing Directors: Paul Argiry, Charles Cachera, Michael Cunningham, Michael O'Neill

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/enmasse/attachments/20190121/16d9af4a/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: hjgfipjlmcehaiam.png
Type: image/png
Size: 6330 bytes
Desc: hjgfipjlmcehaiam.png
URL: <http://listman.redhat.com/archives/enmasse/attachments/20190121/16d9af4a/attachment.png>


More information about the enmasse mailing list