[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2814: "simultaneuous" edits not caught
Tahoe-LAFS
trac at tahoe-lafs.org
Mon Aug 29 21:15:29 UTC 2016
#2814: "simultaneuous" edits not caught
--------------------------------------------+-----------------------
Reporter: meejah | Owner: daira
Type: defect | Status: new
Priority: normal | Milestone: undecided
Component: code-frontend-magic-folder | Version: 1.11.0
Resolution: | Keywords:
Launchpad Bug: |
--------------------------------------------+-----------------------
Comment (by meejah):
Really, I think this is actually another example of needing a better
strategy than simple versioning. Also, it's really that we're not even
downloading the other person's file (and therefore also not detecting a
conflict).
When Alice and Bob see the new file, they both believe that it's new; so
they both upload a "version=0" file. (So in their own private collective-
dirs, they each create a new file). When they try to sync next, they both
see that they other side has a "version=0" file (which is the same as the
biggest version in their local database, so nothing to do).
What the "other" side really needs to determine what to do is something
like a vector-clock, so they can tell "bob thought his file was new when
he uploaded it" and then alice can conclude that it was a conflict
(because she also though it was new).
In this particular case, it might be sufficient to record *whose* version
is in the local database (rather than just the plain version). Then, bob
or alice can correctly conclude that they need to download. (I.e. bob will
see "bob's version 0" is what he has, but alice also has a version 0 so he
can conclude that she uploaded her own version 0 before seeing his, or her
version would be 1).
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2814#comment:1>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list