[AFS3-std] Snapshot Identifiers

Tom Keiser tkeiser@sinenomine.net
Mon, 22 Jun 2009 14:56:38 -0400


On Sun, Jun 21, 2009 at 11:57 AM, Matt W. Benjamin<matt@linuxbox.com> wrote=
:
> So the AFS protocol should provide access to the best available snapshot =
available relative to a point in time. =A0Does that mandate that snapshot g=
enerations are best regarded in the protocol as a timestamp per se? =A0I do=
n't believe so. =A0Doing so appears to conflate a temporal search criteria =
with an ordinal (or opaque identifier). =A0It misbehaves near the maximum r=
esolution, and seems to carry the assumption that all implementations will =
be producing effectively continuous snapshots.


Agreed.  I definitely like the idea of carrying a finely granular
timestamp as metadata, but I specifically see the following pitfalls
to using said timestamp as the primary keying material:

* sparse namespace is undesirable since it makes enumeration of all
version numbers non-trivial
* time nonlinearity (e.g. across reboot, ntpdate, sysadmin blunder, etc.)
* following on from nonlinearity, how do we define this key in a
multi-master replication scheme?  MAX({timestamps}) seems logical, but
it is tenuously dependent on system time being sane everywhere in the
cluster.

-Tom