You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Versionstamps are a compelling feature that tie in closely with the tuple layer, and are the main thing currently missing from it right now.
They have a bit of a weird API, where you encode an incomplete versionstamp to a tuple, pack the tuple with a special offset (w/ different values depending on FDB client version), write the resulting bytes with the SET_VERSIONSTAMP_(KEY|VALUE) atomic operations, and then FDB magically replaces the incomplete-versionstamp portion of the tuple with the actual commit-time versionstamp when it writes to disk.
FWIW I'm working on this one right now and have a very janky implementation that reads/writes them. Hopefully will get up a more polished PR in a reasonable amount of time.
I do wonder if there's some clever way to encode the exactly-one incomplete versionstamp invariants into the type system, but that's beyond what I've looked into so far.
Versionstamps are a compelling feature that tie in closely with the tuple layer, and are the main thing currently missing from it right now.
They have a bit of a weird API, where you encode an incomplete versionstamp to a tuple, pack the tuple with a special offset (w/ different values depending on FDB client version), write the resulting bytes with the
SET_VERSIONSTAMP_(KEY|VALUE)
atomic operations, and then FDB magically replaces the incomplete-versionstamp portion of the tuple with the actual commit-time versionstamp when it writes to disk.They were recently added to the golang bindings: https://github.com/apple/foundationdb/pull/1187/files which makes for a nice distillation of what they need to work.
That said: they do puncture a bit of the clean implementation of tuples we have now, since they add some new invariants:
The text was updated successfully, but these errors were encountered: