According to Wikipedia page of Vector Clocks:
If VC(a) < VC(b) then a -> b
VC - Vecor Clock
-> - casually related
But if we have the following schema: Click Here For the Image
Now we can see the event with VC(1,0,1) and VC(0,2,2), they fullfill the condition:
sqrt(1+0+1) < sqrt(0+4+4) => sqrt(2) < sqrt(8) //TRUE
But these two events (VC(1,0,1) and VC(0,2,2)) are not in the casual order relation!
Could someone tell me what is wrong here, am I missing something?
Not sure what you mean by the event here!
If actor x has a vector clock VC(x) = VC(1, 0, 1) and actor y has vector clock VC(y) = VC(0, 2, 2) then. - There is an event that actor x knows that y is not aware of (or causality dependent on). This event happened when the first value of the clock changed from 0 to 1.
- Also, there are three events that y know and x is not aware of (or causality dependent on). These events happened when the second and third values incremented on the vector clock. So:
VC(x) is not <= VC(y) VC(y) is not <= VC(x)
These clock don't have causal dependency and can't be compared directly.