On 22 Apr 2013, at 14:24, Bela Ban <bban(a)redhat.com> wrote:
Yes, that's what we decided to do a long time ago... see policy
based
merge approach in the mailing lists.
But the point of *this* discussion is not data reconciliation after a
merge, but how to *avoid* that reconciliation by making conflicting
minority partitions read only, such that a merge always transfers data
from the primary partition to the minority partitions.
This is not as easy as it sounds though; Dan mentioned the case where
the primary partition is not the owner of a given key K. In this case,
we cannot simply swipe the minority partition. Even worse, if K is
created and modified in the primary partition, we have to reconcile K's
value between the primary and minority partitions...
And hence my asking whether we have a vector clock implementation in place yet.
Anyway, I have created a (fairly naive and simplistic) VectorClock implementation on this
experimental branch:
https://github.com/maniksurtani/infinispan/commit/5d083a079ff3a16181081e2...
The next step, what needs to happen in the state transfer code to make use of this when
handling a MergeView?
- M
--
Manik Surtani
manik(a)jboss.org
twitter.com/maniksurtani
Platform Architect, JBoss Data Grid
http://red.ht/data-grid