Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2014-01-07 Thread Galder Zamarreño
On Dec 19, 2013, at 1:15 PM, Emmanuel Bernard emman...@hibernate.org wrote: On Thu 2013-12-19 9:46, Galder Zamarreño wrote: == Example of continuous query atop remote listeners Thinking about how to implement continuous query atop this infrastructure I am missing a few things. The

Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-20 Thread Dan Berindei
On Thu, Dec 19, 2013 at 8:43 PM, Emmanuel Bernard emman...@hibernate.orgwrote: On Thu 2013-12-19 19:57, Dan Berindei wrote: On Thu, Dec 19, 2013 at 2:15 PM, Emmanuel Bernard emman...@hibernate.orgwrote: On Thu 2013-12-19 9:46, Galder Zamarreño wrote: == Example of continuous query

Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-20 Thread Dan Berindei
On Fri, Dec 13, 2013 at 4:11 PM, Radim Vansa rva...@redhat.com wrote: On 12/13/2013 02:44 PM, Galder Zamarreño wrote: On Dec 6, 2013, at 10:45 AM, Radim Vansa rva...@redhat.com wrote: Hi, 1) IMO, filtering for specific key is a very important use case. Registering a filterId is a very

Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-20 Thread Dan Berindei
On Fri, Dec 20, 2013 at 12:20 PM, Emmanuel Bernard emman...@hibernate.orgwrote: On Fri 2013-12-20 12:09, Dan Berindei wrote: On Thu, Dec 19, 2013 at 8:43 PM, Emmanuel Bernard emman...@hibernate.orgwrote: On Thu 2013-12-19 19:57, Dan Berindei wrote: On Thu, Dec 19, 2013 at 2:15 PM,

Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-19 Thread Galder Zamarreño
On Dec 13, 2013, at 4:33 PM, Radim Vansa rva...@redhat.com wrote: On 12/13/2013 03:49 PM, Galder Zamarreño wrote: On Dec 6, 2013, at 4:17 PM, Radim Vansa rva...@redhat.com wrote: Btw., when Hot Rod fails to hit the primary owner, should the non-owner propagate the SourceID to primary

Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-19 Thread Galder Zamarreño
On Dec 13, 2013, at 5:08 PM, Emmanuel Bernard emman...@hibernate.org wrote: Much better. Some more feedback. == Filter and converter I am wondering if there is a benefit in separating filters and converters. It does add some understanding complexity so a single ServerListener with the

Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-19 Thread Emmanuel Bernard
On Thu 2013-12-19 9:46, Galder Zamarreño wrote: == Example of continuous query atop remote listeners Thinking about how to implement continuous query atop this infrastructure I am missing a few things. The primary problem is that I don't want to enlist a filter id per continuous

Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-19 Thread Tristan Tarrant
Hi Galder, regarding the Client Identification paragraph I was thinking of the connection there might be with authenticated session ids I describe in the security document [1] in order to reduce the potential proliferation of identifiers. In the security case it is the server who is

Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-19 Thread Dan Berindei
On Thu, Dec 19, 2013 at 2:15 PM, Emmanuel Bernard emman...@hibernate.orgwrote: On Thu 2013-12-19 9:46, Galder Zamarreño wrote: == Example of continuous query atop remote listeners Thinking about how to implement continuous query atop this infrastructure I am missing a few things.

Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-19 Thread Emmanuel Bernard
On Thu 2013-12-19 19:57, Dan Berindei wrote: On Thu, Dec 19, 2013 at 2:15 PM, Emmanuel Bernard emman...@hibernate.orgwrote: On Thu 2013-12-19 9:46, Galder Zamarreño wrote: == Example of continuous query atop remote listeners Thinking about how to implement continuous query atop

Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-18 Thread Galder Zamarreño
On Dec 13, 2013, at 3:11 PM, Radim Vansa rva...@redhat.com wrote: On 12/13/2013 02:44 PM, Galder Zamarreño wrote: On Dec 6, 2013, at 10:45 AM, Radim Vansa rva...@redhat.com wrote: Hi, 1) IMO, filtering for specific key is a very important use case. Registering a filterId is a very

Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-13 Thread Galder Zamarreño
On Dec 6, 2013, at 10:45 AM, Radim Vansa rva...@redhat.com wrote: Hi, 1) IMO, filtering for specific key is a very important use case. Registering a filterId is a very powerful feature, but as long as you don't provide runtime parameter for this filter, you cannot implement one-key

Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-13 Thread Radim Vansa
On 12/13/2013 02:44 PM, Galder Zamarreño wrote: On Dec 6, 2013, at 10:45 AM, Radim Vansa rva...@redhat.com wrote: Hi, 1) IMO, filtering for specific key is a very important use case. Registering a filterId is a very powerful feature, but as long as you don't provide runtime parameter for

Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-13 Thread Galder Zamarreño
On Dec 6, 2013, at 3:52 PM, Mircea Markus mmar...@redhat.com wrote: Some notes: This means that the Hot Rod protocol will be extended so that operation headers always carry a Source ID field. - shall we add a new intelligence level to handle this? Besides reducing the payload, would

Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-13 Thread Galder Zamarreño
On Dec 9, 2013, at 6:47 PM, Mircea Markus mmar...@redhat.com wrote: Hey Galder, Another idea that come up today was to use the QueryDSL for specifying both the filter and the transformer (the DSL has projection). The query DSL builds an HQL string for which one the server side the filter

Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-13 Thread Radim Vansa
On 12/13/2013 03:49 PM, Galder Zamarreño wrote: On Dec 6, 2013, at 4:17 PM, Radim Vansa rva...@redhat.com wrote: Btw., when Hot Rod fails to hit the primary owner, should the non-owner propagate the SourceID to primary owner somehow? Or is in this case acceptable notifying the listener

Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-13 Thread Emmanuel Bernard
Much better. Some more feedback. == Filter and converter I am wondering if there is a benefit in separating filters and converters. It does add some understanding complexity so a single ServerListener with the methods from RemoteFilter / RemoveConverter might be better. Should filter /

Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-09 Thread Mircea Markus
Hey Galder, Another idea that come up today was to use the QueryDSL for specifying both the filter and the transformer (the DSL has projection). The query DSL builds an HQL string for which one the server side the filter can be built on the fly (we already do that with the embedded query DSL).

Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-06 Thread Radim Vansa
Hi, 1) IMO, filtering for specific key is a very important use case. Registering a filterId is a very powerful feature, but as long as you don't provide runtime parameter for this filter, you cannot implement one-key filtering. 2) setting ack/no ack in listener, and then configuring

Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-06 Thread Mircea Markus
Some notes: This means that the Hot Rod protocol will be extended so that operation headers always carry a Source ID field. - shall we add a new intelligence level to handle this? Besides reducing the payload, would allow upgrading the java and Cpp clients independently. In one of our

Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-06 Thread Radim Vansa
On 12/06/2013 03:52 PM, Mircea Markus wrote: Some notes: This means that the Hot Rod protocol will be extended so that operation headers always carry a Source ID field. - shall we add a new intelligence level to handle this? Besides reducing the payload, would allow upgrading the java and

Re: [infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-06 Thread Dennis Reed
On 12/06/2013 08:52 AM, Mircea Markus wrote: Some notes: This means that the Hot Rod protocol will be extended so that operation headers always carry a Source ID field. - shall we add a new intelligence level to handle this? Besides reducing the payload, would allow upgrading the java and

[infinispan-dev] Design of Remote Hot Rod events - round 2

2013-12-05 Thread Galder Zamarreño
Hi all, Re: https://github.com/infinispan/infinispan/wiki/Remote-Hot-Rod-Events Thanks a lot for the feedback provided in last thread. It was very constructive feedback :) I've just finished updating the design document with the feedback provided in the previous email thread. Can you please

Re: [infinispan-dev] Design of Remote Hot Rod events

2013-12-02 Thread Galder Zamarreño
On Nov 27, 2013, at 3:06 PM, Mircea Markus mmar...@redhat.com wrote: - how does the server know that a request originated from a certain client in order not to send it to that client again? There's no clientId in the request… Well spotted :). There are two ways to solve this.

Re: [infinispan-dev] Design of Remote Hot Rod events

2013-12-02 Thread Radim Vansa
On 11/26/2013 04:10 PM, Galder Zamarreño wrote: Hi Radim, Thanks for the excellent feedback, comments below: On Nov 13, 2013, at 11:33 AM, Radim Vansa rva...@redhat.com wrote: Hi, my couple of questions remarks: 1. Why there is no RemoteCacheEntryCreated? I guess you had good reason to

Re: [infinispan-dev] Design of Remote Hot Rod events

2013-12-02 Thread Dan Berindei
On Mon, Dec 2, 2013 at 11:44 AM, Galder Zamarreño gal...@redhat.com wrote: On Nov 27, 2013, at 3:06 PM, Mircea Markus mmar...@redhat.com wrote: - how does the server know that a request originated from a certain client in order not to send it to that client again? There's no clientId in

Re: [infinispan-dev] Design of Remote Hot Rod events

2013-12-02 Thread Mircea Markus
On Dec 2, 2013, at 10:00 AM, Dan Berindei dan.berin...@gmail.com wrote: On Mon, Dec 2, 2013 at 11:44 AM, Galder Zamarreño gal...@redhat.com wrote: On Nov 27, 2013, at 3:06 PM, Mircea Markus mmar...@redhat.com wrote: - how does the server know that a request originated from a

Re: [infinispan-dev] Design of Remote Hot Rod events

2013-12-02 Thread Galder Zamarreño
On Dec 2, 2013, at 10:57 AM, Radim Vansa rva...@redhat.com wrote: On 11/26/2013 04:10 PM, Galder Zamarreño wrote: Hi Radim, Thanks for the excellent feedback, comments below: On Nov 13, 2013, at 11:33 AM, Radim Vansa rva...@redhat.com wrote: 3. IMO, registering events for particular

Re: [infinispan-dev] Design of Remote Hot Rod events

2013-11-27 Thread Galder Zamarreño
Hi Emmanuel, On Nov 19, 2013, at 9:48 AM, Emmanuel Bernard emman...@hibernate.org 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

Re: [infinispan-dev] Design of Remote Hot Rod events

2013-11-27 Thread Galder Zamarreño
On Nov 19, 2013, at 12:23 PM, Radim Vansa rva...@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

Re: [infinispan-dev] Design of Remote Hot Rod events

2013-11-27 Thread Galder Zamarreño
On Nov 19, 2013, at 1:17 PM, Pierre Sutra pierre.su...@unine.ch wrote: Dear Galder, I have read with great interest the design document your wrote for Hot Rod remote eventing [1]. I guess you mean [2] :) In the perspective of the LEADS project, that aims at building a continuous

Re: [infinispan-dev] Design of Remote Hot Rod events

2013-11-27 Thread Emmanuel Bernard
Cool, I was afraid you had sent my feedback to /dev/null :) On Wed 2013-11-27 8:35, Galder Zamarreño wrote: 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

Re: [infinispan-dev] Design of Remote Hot Rod events

2013-11-27 Thread Mircea Markus
On Nov 26, 2013, at 3:49 PM, Galder Zamarreño gal...@redhat.com wrote: On Nov 19, 2013, at 2:49 AM, Mircea Markus mmar...@redhat.com wrote: Nice work! Few questions: - in the context of near-caching, entry-modified and entry-deleted would have the same effect on the client:

Re: [infinispan-dev] Design of Remote Hot Rod events

2013-11-27 Thread Mircea Markus
On Nov 27, 2013, at 7:35 AM, Galder Zamarreño gal...@redhat.com wrote: Hi Emmanuel, On Nov 19, 2013, at 9:48 AM, Emmanuel Bernard emman...@hibernate.org wrote: Hey there, Here are a few comments based on a quick reading. I might have totally misread or misinterpreted what was exposed,

Re: [infinispan-dev] Design of Remote Hot Rod events

2013-11-26 Thread Galder Zamarreño
On Nov 19, 2013, at 2:49 AM, Mircea Markus mmar...@redhat.com wrote: Nice work! Few questions: - in the context of near-caching, entry-modified and entry-deleted would have the same effect on the client: invalidation of data. If near-caching is our main goal, we might as well send a

Re: [infinispan-dev] Design of Remote Hot Rod events

2013-11-19 Thread Emmanuel Bernard
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

Re: [infinispan-dev] Design of Remote Hot Rod events

2013-11-19 Thread Radim Vansa
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

Re: [infinispan-dev] Design of Remote Hot Rod events

2013-11-19 Thread Pierre Sutra
Dear Galder, I have read with great interest the design document your wrote for Hot Rod remote eventing [1]. In the perspective of the LEADS project, that aims at building a continuous query/streaming engine on top of Infinispan, this new feature seem very promising. However, it seems that in

Re: [infinispan-dev] Design of Remote Hot Rod events

2013-11-19 Thread Emmanuel Bernard
On Tue 2013-11-19 12:23, Radim Vansa wrote: On 11/19/2013 09:48 AM, Emmanuel Bernard wrote: 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

Re: [infinispan-dev] Design of Remote Hot Rod events

2013-11-18 Thread Mircea Markus
Nice work! Few questions: - in the context of near-caching, entry-modified and entry-deleted would have the same effect on the client: invalidation of data. If near-caching is our main goal, we might as well send a single notification type (entry-modified) for both modification and deletion

[infinispan-dev] Design of Remote Hot Rod events

2013-11-12 Thread Galder Zamarreño
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