Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • There's a "master vector clock" named as safeVersion per master which contains the next available version number on that master. This is initialized to a small integer and is recoverable after crashes (seeĀ Recovery).
  • When an object is created, its new version number is set to the value of safeVersion, and the safeVersion is incremented. (ToDo: Do we really need to increment safeVersion?)
  • When an object is deleted, if its version number is bigger than or equal to safeVersion, safeVersion is set to the version number plus one.
  • Nothing happens to safeVersion at object update because as far as the object is alive the updated object refers the version number in the updating object.
  • Unsigned 64bit counter is big enough because 2^64 ~= 1.84*10^19. If we increment the counter every 1 ns (= 10^-9 sec), it takes 1.84 * 10^10 sec to overflow. It is 213,504 day or 585 year and long enough.

--- Below is Obsolete .. --

...