[infinispan-dev] DIST and CAP

Bela Ban bban at redhat.com
Sun Mar 25 06:01:27 EDT 2012



On 3/23/12 5:18 PM, Dan Berindei wrote:
> On Fri, Mar 23, 2012 at 12:53 PM, Bela Ban<bban at redhat.com>  wrote:
>> Changed the subject...
>>
>> I got unsure about what Infinispan's DIST mode provides with respect to
>> CAP (see below).
>>
>> I would argue availability and partitioning, but not consistency, as a
>> network partition and subsequent healing might lead to incorrect values...
>>
>> Thoughts ?
>>
>>
>> On 3/22/12 3:33 PM, Dan Berindei wrote:
>>
>>>> We're trying to provide the C, the A and the P (of CAP), with perhaps a
>>>> slighly degraded A. This may not be feasible... especially on large
>>>> clusters where nodes come and go with a higher frequency than in a small
>>>> cluster.
>>>>
>>>
>>> Slight correction here: we are only trying to provide C and A. We
>>> don't really have anything to handle P yet...
>>
>
> I think I may have mixed up concepts a bit here... what I meant to say
> is that we kind of give up in the presence of network partitions.
> Actually you're right, we only give up on consistency - the partitions
> are still available and respond to requests, even if their responses
> are inconsistent.
>
> Probably the only way to get consistency during a network partition is
> to stop responding to any requests, so clearly we can't provide C all
> the time.


+1.
This is in line with what Paolo suggested in a different email thread: 
typically we provide AP, as nodes always available and we do allow for 
work to proceed in different partitions, at the expense of consistency 
after a partition heals.

Stopping to respond (in the non-primary partition) corresponds to adding 
consistency (in the primary partition), but losing the ability to handle 
partitons. This is not something we do, but this could be done, e.g. as 
described in 
http://www.jgroups.org/manual-3.x/html/user-advanced.html#d0e2955.



-- 
Bela Ban, JGroups lead (http://www.jgroups.org)


More information about the infinispan-dev mailing list