[infinispan-dev] Non-blocking state transfer (ISPN-1424)
Bela Ban
bban at redhat.com
Fri Mar 9 09:19:48 EST 2012
Wow !
Does this need to be so complex ? I've spent a hour trying to understand
it, and am still overwhelmed... :-)
My understanding (based on my changed in 4.2) is that state transfer
moves/deletes keys based on the diff between 2 subsequent views:
- Each node checks all of the affected keys
- If a key should be stored in additional nodes, the key is pushed there
- If a key shouldn't be stored locally anymore, it is removed
IMO, there's no need to handle a merge differently from a regular view,
and we might end up with inconsistent state, but that's unavoidable
until we have eventual consistency. Fine...
Also, why do we need to transfer ownership information ? Can't ownership
be calculated purely on local information ?
I'm afraid that the complexity will increase the state space (hard to
test all possible state transitions), lead to unnecessary messages being
sent and most importantly, might lead to blocks.
The section on locking outright scares me :-) Perhaps reducing the level
of details here - as Galder suggested - might help to understand the
basic design.
Sorry for being a bit negative, but I think state transfer is one of the
most critical and important pieces of code in DIST mode, and this needs
to work against large (say a couple of hundreds) clusters and nodes
joining, leaving or crashing all the times...
I'm going to re-read the design again, maybe what I said above is just
BS ... :-)
On 3/8/12 11:55 AM, Dan Berindei wrote:
> Hi guys
>
> It's been a long time coming, but I finally published the non-blocking
> state transfer draft on the wiki:
> https://community.jboss.org/wiki/Non-blockingStateTransfer
>
> Unlike my previous state transfer design document, I think I've
> fleshed out most of the implications. Still, there are some things I
> don't have a clear solution for yet. As you would expect it's mostly
> around merging and delayed state transfer.
>
> I'm looking forward to hearing your comments/advice!
>
> Cheers
> Dan
>
> PS: Let's discuss this over the mailing list only.
>
--
Bela Ban, JGroups lead (http://www.jgroups.org)
More information about the infinispan-dev
mailing list