[EnMasse] Topics and subscriptions in Enmasse 0.24.1

Bob Claerhout bob.claerhout at aloxy.io
Fri Jan 18 16:27:44 UTC 2019


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!
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?

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:part5.0020D8EF.8860F9DE 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/enmasse/attachments/20190118/2c848e19/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/20190118/2c848e19/attachment.png>


More information about the enmasse mailing list