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 owner somehow? Or is in this case 
>>> acceptable notifying the listener about its own change?
>> If the call lands in a non-owner, it's probably simpler for the non-owner to 
>> send the notification there and then. ACK information tracking would 
>> probably be distributed, in which case it'd need to deal with potential 
>> failure of the primary owner.
> 
> I don't think I understand that properly. The node responsible for notifying 
> the client is either primary owner, or operation origin (where the write has 
> landed in fact). Previously, we were saying that the responsible node should 
> be the primary owner - now you say that the origin. When the cluster is 
> accessed only remotely, it does not have much performance impact (as these 
> two are mostly the same node), but with cluster in compatibility mode the 
> decision could affect the performance a lot.

Normally, a Hot Rod call would land on the owner of the key, which then is able 
to send the notification itself. The question, as you've rightly asked, is what 
to do when the call lands in a non-owner. Is that because the owner node has 
failed? Is it because the client has a flaky issue with the hash function and 
not all calls are directed to non-owners? Rather than spending time forcing the 
owner to be the one that sends the notification, a non-owner might say: 
something weird happened here, I should have received this call, but just in 
case, I'll send notifications linked to it.

> So, do you think that this should be the origin (easier to implement, with 
> access to distributed ack registry it can retrieve the information, but with 
> higher latency as the ack info is probably affine to the entry itself)
> or primary owner (in this case you'd have to propagate the source ID with the 
> write command).
> Btw., what should be the source ID for operations coming from library mode? 
> JGroups address of the node?

Personally, I think remote eventing is complex enough as it is to add 
compatibility in this first release because there's no event infrastructure for 
memcached nor REST. We should focus on getting remote events right for Hot Rod.

> 
> Radim
> 
>> 
>> Cheers,
>> --
>> Galder Zamarreño
>> gal...@redhat.com
>> twitter.com/galderz
>> 
>> Project Lead, Escalante
>> http://escalante.io
>> 
>> Engineer, Infinispan
>> http://infinispan.org
>> 
> 
> 
> -- 
> Radim Vansa <rva...@redhat.com>
> JBoss DataGrid QA
> 


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

Reply via email to