On 11/19/2013 09:48 AM, Emmanuel Bernard wrote:
> Hey there,
>
> Here are a few comments based on a quick reading.
> I might have totally misread or misinterpreted what was exposed, feel
> free to correct me.
>
> ## General
>
> I think you are restricting the design to listeners:
>
> * that only listen to raw entry changes
> * whose processing is remote
> * with no way to filter out the event from the server
>
> Is that correct? I can see that it does address the remote L1 use case
> but I feel like it will close the doors to many more use cases. An
> interesting example being continuous query.
Please, use the term "near cache" rather than "remote L1". L1 is rather 
ambiguous as it already represents L1 cache and L1 HotRod intelligence 
level.

>
> 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.

>
> ## Specific questions
>
> When the topology changes, it is the responsibility of the client to add
> the listener to the new servers that show up. Correct? The API is a
> global addRemoteListener but I imagine the client implementation will
> have to transparently deal with that.
> I wonder if a server approach is not more convinient. At least it does
> not put the burden and bugs in several implementations and several
> languages.
+1
>
> You never send code at the moment. Only one kind of listener is
> available and listeners to all entry change and deletion. Correct?
>
> Why not have the ability to listen to new entry events? That would limit
> generic listeners as it is.
>
> Do you have plans to make the ACK optional depending on the listener
> requirement? Looks like an expensive process.
>
> "Only the latest event is tracked for ACK for a given key"
> It seems it's fine for L1 but would be a problem for many more generic
> listeners.
>
> Emmanuel

Radim

>
> On Tue 2013-11-12 16:17, Galder Zamarreño wrote:
>> Hi all,
>>
>> Re: https://github.com/infinispan/infinispan/wiki/Remote-Hot-Rod-Events
>>
>> I've just finished writing up the Hot Rod remote events design document. 
>> Amongst many other use cases, this will enable near caching use cases with 
>> the help of Hot Rod client callbacks.
>>
>> Cheers,
>> --
>> Galder Zamarreño
>> gal...@redhat.com
>> twitter.com/galderz
>>
>> Project Lead, Escalante
>> http://escalante.io
>>
>> Engineer, Infinispan
>> http://infinispan.org
>>
>>
>> _______________________________________________
>> infinispan-dev mailing list
>> infinispan-dev@lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev


-- 
Radim Vansa <rva...@redhat.com>
JBoss DataGrid QA

_______________________________________________
infinispan-dev mailing list
infinispan-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/infinispan-dev

Reply via email to