[tahoe-lafs-trac-stream] [tahoe-lafs] #1755: 2-phase commit

tahoe-lafs trac at tahoe-lafs.org
Wed Nov 21 03:48:26 UTC 2012


#1755: 2-phase commit
-------------------------+-------------------------------------------------
     Reporter:           |      Owner:  davidsarah
  davidsarah             |     Status:  assigned
         Type:  defect   |  Milestone:  soon
     Priority:  normal   |    Version:  1.9.2
    Component:  code     |   Keywords:  2pc mutable reliability consistency
   Resolution:           |
Launchpad Bug:           |
-------------------------+-------------------------------------------------

Comment (by davidsarah):

 Replying to [comment:5 zooko]:
 > So anyway, we have to come up with a plan for how storage servers (who
 are playing the role of Resource Manager) handle the case that the storage
 client (LAFS gateway, Transaction Manager) has told them to prepare and
 hasn't yet told them whether they should commit or rollback, and then a
 lot of time passes. As a first strawman argument, I propose a simple
 hardcoded, fixed, long timeout. Let's say one hour. If your LAFS client
 hasn't told you whether to commit or to rollback within an hour of asking
 you to prepare, then you will unilaterally roll back.

 I'd suggest a shorter timeout than this, say 5 minutes. This is assuming
 the variation we discussed at the summit where clients can upload their
 new file contents to a holding area on each server before actually taking
 the lock. In that case, the lock timeout only needs to be long enough to
 allow all the servers to receive a lock request and confirm it, then for
 the client to receive all those confirmations, send out commit messages,
 and each server to receive their commit message.

 If that takes longer than 5 minutes, something is seriously wrong. (Note
 that as long as the number of servers responding before the timeout is at
 least the happiness threshold, the file will still be updated. The fact
 that other servers may time out does not cause any inconsistency that we
 can't tolerate.)

-- 
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1755#comment:7>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list