[infinispan-dev] Design of Remote Hot Rod events
Galder Zamarreño
galder at redhat.com
Wed Nov 27 02:41:02 EST 2013
On Nov 19, 2013, at 12:23 PM, Radim Vansa <rvansa at redhat.com> wrote:
> On 11/19/2013 09:48 AM, Emmanuel Bernard wrote:
>> </snip>
>
>>
>> In that use case the listener code runs a filtering logic server side
>> and only send keys that are impacted by the query plus some flag
>> defining whether it's added to changed or removed from the corpus.
>> The key is filtering event before sending it to the client.
>>
>> I wish the design document was showing how we can achieve a general
>> purpose remote listener approach but have a step 1 that is only
>> targeting a restricted set of listeners if you feel that it's too much
>> to chew. I don't want us to be trapped in a situation where backward
>> compatibility prevent us from adding use cases.
> I was also suggesting that listener on particular key should be
> mandatory requirement. However, any general server-side filtering logic
> would be hard to specify as HotRod is language-unaware binary protocol.
> Therefore, the best you could get is some kind of binary regular
> expressions. For the start, global/one-key filtering is a good start and
> the door are not closed for any further options.
Ideally, all filtering should probably be done server, both for type of operation and per-key filtering. If as you rightly say, some client cannot apply filtering per-key cleanly on the server side, they can always apply filtering client-side based on a client specific implementation, but that should be last resort.
Per-cache operation filtering should really be done server side.
Cheers,
--
Galder Zamarreño
galder at redhat.com
twitter.com/galderz
Project Lead, Escalante
http://escalante.io
Engineer, Infinispan
http://infinispan.org
More information about the infinispan-dev
mailing list