Hasitha, one topic can have multiple subscriptions. In that case, do we duplicate the message content? How do we know when to delete the message content?
--Srinath On Wed, Dec 7, 2016 at 10:27 PM, Pamod Sylvester <pa...@wso2.com> wrote: > Based on the document in [1], It states the following, > > If the selector, or Topic values change for an subscription name already > in use, *and there isnt an existing consumer on it*, the old subscription > is effectively unsubscribed and a new one initiated. > > This clarifies the doubt i had. Which means we do not require to filter > when delivering. If there's a re-subscription with a different selector we > could simply un-subscribe form the existing and start a new session. > > [1] https://wiki.oasis-open.org/amqp-bindmap/JMSMapping/SubscriptionsV1 > > Thanks, > Pamod > > On Wed, Dec 7, 2016 at 10:07 PM, Madhawa Gunasekara <madha...@wso2.com> > wrote: > >> Hi All, >> >> AFAIK we can specify only one selector per consumer/subscriber, So we can >> specify it using SQL92 conditional expression syntax. Therefore I think >> this should work if we can use the Qpid selector logic. >> Regarding the Shazni's question, In Queues, I believe we need to keep >> remain unmatched messages in the queue/DLC since it wasn't delivered >> correctly. We should deliver this message if someone interested later. WDYT >> ?? >> >> Thanks, >> Madhawa >> >> On Wed, Dec 7, 2016 at 9:24 PM, Pamod Sylvester <pa...@wso2.com> wrote: >> >>> I think it would be subjective, depends on what the application is >>> intended to do. >>> >>> Let me try to give you an example (just to elaborate what i intended to >>> say), >>> >>> let's say there's a topic which will receive events for sports. For the >>> topic '*sports*' there could be different categories i.e football, >>> cricket etc of messages which will be published. Each consumer listening to >>> these events specify the type of sports they're interested in receiving >>> through a selector condition i.e *sport=football. *Let's say the >>> consumer who initially was interested in listening to football events >>> wishes to receive the updates related to cricket i.e sport=*football* >>> OR *cricket* which was received on topic *sports* while the consumer >>> was offline. >>> >>> The point i intended to bring is, if selectors are intended to support a >>> use case as above, we might need to consider accepting messages for a topic >>> (without considering the filter/selector condition) and filter them only >>> when its being delivered to a consumer. >>> >>> Anyhow +1 for further evaluating, also i agree this might be a rare use >>> case and we don't need to implement it right a way . Just wanted to clarify >>> at the initial stage so that our design supports it to be extended if it's >>> required :) >>> >>> Thanks, >>> Pamod >>> >>> On Wednesday, December 7, 2016, Hasitha Hiranya <hasit...@wso2.com> >>> wrote: >>> >>>> Hi Pamod, >>>> >>>> On Wed, Dec 7, 2016 at 8:39 AM, Pamod Sylvester <pa...@wso2.com> wrote: >>>> >>>>> Hi Hasitha, >>>>> >>>>> Just to understand. So in AMQP model does it state that an offline >>>>> durable subscriber cannot re subscribe with a different selector query ? >>>>> >>>> >>>> I think so. But let's verify (might be broker dependent) >>>> >>>>> >>>>> if it's the case I agree we might be able to partion at the publishing >>>>> state. Where the model would be cleaner and less complex. If it's not the >>>>> case IMO still I don't see how the condition could be invalid. >>>>> >>>> >>>> Let us look at the practical case first and try to implement. We can >>>> state it as a limitation if we have to. Will not be a matter, as in >>>> practical world applications would not resubscribe with different selectors >>>> to middleware. WDYT? >>>> >>>>> >>>>> My point it if it's valid we might have to further filter before >>>>> delivering to the subscriptions. >>>>> >>>>> Thanks, >>>>> Pamod >>>>> >>>>> On Wednesday, December 7, 2016, Hasitha Hiranya <hasit...@wso2.com> >>>>> wrote: >>>>> >>>>>> Hi Pamod, >>>>>> >>>>>> On Wed, Dec 7, 2016 at 3:27 AM, Pamod Sylvester <pa...@wso2.com> >>>>>> wrote: >>>>>> >>>>>>> Hi Hasitha, >>>>>>> >>>>>>> An aspect i was thinking is. let's say there's a durable >>>>>>> subscription having the selector query/condition as '*groupID > 12*' >>>>>>> , once the messages are being published the durable subscription goes >>>>>>> offline and reconnects with a different selector query i.e '*groupID >>>>>>> > 100*' if this case is valid, how will we address this condition ? >>>>>>> >>>>>>> >>>>>> This condition is invalid. If you look at AMQP model (forget about >>>>>> all clustering stories), even there we cannot handle this situation. So >>>>>> invalid. >>>>>> >>>>>> >>>>>>> Thanks, >>>>>>> Pamod >>>>>>> >>>>>>> On Wed, Dec 7, 2016 at 11:15 AM, Hasitha Hiranya <hasit...@wso2.com> >>>>>>> wrote: >>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> I have following suggestion on how to implement message selectors >>>>>>>> on MB >>>>>>>> >>>>>>>> [image: Inline image 1] >>>>>>>> >>>>>>>> >>>>>>>> - With cluster notification upon subscription we send selector >>>>>>>> information as well. >>>>>>>> - So each node knows all subscribers with their selector info >>>>>>>> - When a message is published, when storing (or cloning and >>>>>>>> storing for durable topic subscribers), we store only if selector >>>>>>>> matches >>>>>>>> - This is possible if we expose selector logic of Qpid to >>>>>>>> andes core using an interface. >>>>>>>> - Then there will be no changes in delivery side. Even for >>>>>>>> durable topic subscribers this will work. >>>>>>>> >>>>>>>> >>>>>>>> WDYT? Please share your ideas. >>>>>>>> >>>>>>>> Thanks >>>>>>>> Hasitha >>>>>>>> >>>>>>>> -- >>>>>>>> *Hasitha Abeykoon* >>>>>>>> Senior Software Engineer; WSO2, Inc.; http://wso2.com >>>>>>>> *cell:* *+94 719363063* >>>>>>>> *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com> >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> *Pamod Sylvester * >>>>>>> >>>>>>> *WSO2 Inc.; http://wso2.com <http://wso2.com>* >>>>>>> cell: +94 77 7779495 <077%20777%209495> >>>>>>> >>>>>> >>>>>> Thanks >>>>>> >>>>>> -- >>>>>> *Hasitha Abeykoon* >>>>>> Senior Software Engineer; WSO2, Inc.; http://wso2.com >>>>>> *cell:* *+94 719363063* >>>>>> *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com> >>>>>> >>>>>> >>>>> >>>>> -- >>>>> *Pamod Sylvester * >>>>> >>>>> *WSO2 Inc.; http://wso2.com <http://wso2.com>* >>>>> cell: +94 77 7779495 <077%20777%209495> >>>>> >>>>> >>>> >>>> >>>> -- >>>> *Hasitha Abeykoon* >>>> Senior Software Engineer; WSO2, Inc.; http://wso2.com >>>> *cell:* *+94 719363063* >>>> *blog: **abeykoon.blogspot.com* <http://abeykoon.blogspot.com> >>>> >>>> >>> _______________________________________________ >>> Architecture mailing list >>> Architecture@wso2.org >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> >> >> -- >> *Madhawa Gunasekara* >> Software Engineer >> WSO2 Inc.; http://wso2.com >> lean.enterprise.middleware >> >> mobile: +94 719411002 <+94+719411002> >> blog: *http://madhawa-gunasekara.blogspot.com >> <http://madhawa-gunasekara.blogspot.com>* >> linkedin: *http://lk.linkedin.com/in/mgunasekara >> <http://lk.linkedin.com/in/mgunasekara>* >> >> _______________________________________________ >> Architecture mailing list >> Architecture@wso2.org >> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >> >> > > > -- > *Pamod Sylvester * > > *WSO2 Inc.; http://wso2.com <http://wso2.com>* > cell: +94 77 7779495 <+94%2077%20777%209495> > > _______________________________________________ > Architecture mailing list > Architecture@wso2.org > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- ============================ Srinath Perera, Ph.D. http://people.apache.org/~hemapani/ http://srinathsview.blogspot.com/
_______________________________________________ Architecture mailing list Architecture@wso2.org https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture