Changes between Initial Version and Version 1 of Ticket #500


Ignore:
Timestamp:
2008-08-27T02:21:36Z (16 years ago)
Author:
warner
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #500

    • Property Owner nobody deleted
    • Property Component changed from unknown to code-mutable
  • Ticket #500 – Description

    initial v1  
    55We would have to establish some tie-breaking rule in the case that they are equidistant, and we would have to spend a few brain cycles thinking about what happens when there are more than two sequence numbers extant for a given file.
    66
    7 Most likely weird cases like max sequence number or equidistance sequence numbers can arise only if a client is confused or misbehaving.  (Or, I suppose if a client has written or attempted to write 2^64 successive versions of a file.)  Since a client can't effect the sequence number without write authority, and since a client with write authority can also simply overwrite the file with garbage over and over, it isn't clear that being able to mess with the sequence number gives any worse power to a naughty client than it already has.
     7Most likely weird cases like max sequence number or equidistance sequence numbers can arise only if a client is confused or misbehaving.  (Or, I suppose if a client has written or attempted to write 2^64^ successive versions of a file.)  Since a client can't effect the sequence number without write authority, and since a client with write authority can also simply overwrite the file with garbage over and over, it isn't clear that being able to mess with the sequence number gives any worse power to a naughty client than it already has.
    88
    99So the goal should just be to define a semantics for sequence numbers which is simple enough that implementors and users won't write code which gets confused and does something bad when faced with the edge cases.  Assuming that someone is going to write some code which reads and writes these sequence numbers, or relies on Tahoe's reading and writing of these sequence numbers, we don't want that code to be susceptible to some surprising failure mode if the sequence numbers exhibit unusual behavior.