atom feed14 messages in org.apache.jackrabbit.devRe: [jr3] Clustering: Scalable Writes...
FromSent OnAttachments
Thomas MüllerOct 19, 2010 3:24 am 
Raffaele SenaOct 19, 2010 11:15 am 
Alexander KlimetschekOct 19, 2010 1:14 pm 
Justin EdelsonOct 19, 2010 2:17 pm 
Jukka ZittingOct 19, 2010 3:05 pm 
Thomas MüllerOct 20, 2010 2:22 am 
Alexander KlimetschekOct 21, 2010 7:57 am 
Alexander KlimetschekOct 21, 2010 7:59 am 
Michael DürigOct 21, 2010 9:34 am 
Thomas MüllerOct 21, 2010 12:03 pm 
Thomas MüllerOct 21, 2010 12:23 pm 
Alexander KlimetschekOct 21, 2010 1:10 pm 
Thomas MüllerOct 21, 2010 9:54 pm 
Ian BostonOct 22, 2010 4:01 am 
Subject:Re: [jr3] Clustering: Scalable Writes / Asynchronous Change Merging
From:Thomas Müller (
Date:Oct 21, 2010 12:23:32 pm


See section 7 "Vector Time". Also see [1] from slide 14 onwards for a more approachable reference. [1]

Thanks! From what I read so far it sounds like my idea is called "Time Warp" / "Virtual Time".

On page 10 and 11 there is the notion of "Total Ordering": "The main problem in totally ordering events is that two or more events at different processes may have identical timestamp." - "A tie-breaking mechanism is needed to order such events." - "Process identifiers are linearly ordered and tie among events with identical scalar timestamp is broken on the basis of their process identifiers." This is what I meant with "+ clusterNodeId"

Vector time and Matrix time: I think it would need too much memory - if the dimension of vector clocks is the number of cluster nodes, then the number of dimensions would change whenever you add a cluster node.

Time Warp matches my suggestion: Page 33 says "Time Warp relies on the general lookahead-rollback mechanism where each process executes without regard to other processes having synchronization conflicts." - it sounds like my proposal (I specially like the term "Time Warp"). "If a conflict is discovered, the offending processes are rolled back to the time just before the conflict and executed forward along the revised path." "Virtual time is implemented a collection of several loosely synchronized local virtual clocks."

Regards, Thomas