Opened at 2010-05-25T17:21:27Z
Last modified at 2021-03-30T18:40:19Z
#1057 new enhancement
Alter mutable files to use servers of happiness
Reported by: | kevan | Owned by: | markberger |
---|---|---|---|
Priority: | major | Milestone: | soon |
Component: | code-mutable | Version: | |
Keywords: | mutable upload servers-of-happiness preservation | Cc: | |
Launchpad Bug: |
Description
Servers of happiness is more robust (or can be made more robust) than the upload health metric currently used by mutable files. Tahoe-LAFS would also be more consistent and easier to understand if it used only one upload health metric. We should look into altering mutable files to use servers of happiness as their upload health metric.
Change History (20)
comment:1 Changed at 2010-05-27T22:14:05Z by zooko
comment:2 Changed at 2010-08-14T06:44:37Z by zooko
- Keywords mutable upload added
- Milestone changed from 1.8.0 to 1.9.0
Putting this in Milestone 1.9.0. Kevan: do you think you can work on this for 1.9.0?
comment:3 Changed at 2010-08-14T17:19:00Z by kevan
- Owner set to kevan
Sure. I should be able to have it done by then (assuming that its due date is still October 31st).
comment:4 Changed at 2010-12-29T09:13:05Z by zooko
- Keywords servers-of-happiness added
comment:5 Changed at 2011-07-12T22:52:57Z by davidsarah
Kevan: please set the Milestone to 'soon' if you don't have a patch for 1.9.0.
comment:6 Changed at 2011-07-13T01:39:13Z by kevan
- Milestone changed from 1.9.0 to soon
comment:7 Changed at 2011-12-18T18:58:03Z by davidsarah
- Keywords preservation added
comment:8 Changed at 2013-07-22T18:54:06Z by markberger
- Milestone changed from soon to 1.11.0
- Owner changed from kevan to markberger
comment:9 Changed at 2013-07-22T19:56:12Z by markberger
This is the link to my branch: https://github.com/markberger/tahoe-lafs/tree/1057-mutable-servers-of-happiness
comment:10 Changed at 2013-07-24T15:55:19Z by markberger
- Keywords review-needed added
Mutable files now must pass the servers-of-happiness test before they are uploaded. Basic tests have been added to test this new behavior.
comment:11 Changed at 2013-08-01T14:24:05Z by markberger
Here is the pull request: https://github.com/tahoe-lafs/tahoe-lafs/pull/55
comment:12 Changed at 2013-08-28T15:33:36Z by markberger
- Milestone changed from soon to 1.11.0
comment:13 Changed at 2013-08-28T16:01:35Z by daira
- Keywords blocks-release added
comment:14 Changed at 2013-11-13T22:10:02Z by zooko
- Milestone changed from 1.11.0 to 1.12.0
Daira says that this branch has the same problem that Servers-of-Happiness had for static (immutable) files — #1382. That problem is that the upload strategy is not designed to achieve optimal happiness (it isn't the Upload Strategy Of Happiness), but then after the upload strategy has done its work, then the Servers-of-Happiness criterion is applied to it, which may cause that upload to be marked a failure.
Having looked at the branch, it looks plausible to me that it does have that problem.
Daira and I think this ticket should be moved out of Milestone 1.11 and into Milestone 1.12.
comment:15 Changed at 2013-11-14T16:47:13Z by zooko
To prevent that issue we would need to fix #2060.
comment:16 Changed at 2013-12-05T15:45:03Z by daira
- Keywords review-needed blocks-release removed
comment:17 Changed at 2016-03-22T05:02:25Z by warner
- Milestone changed from 1.12.0 to 1.13.0
Milestone renamed
comment:18 Changed at 2016-06-28T18:17:14Z by warner
- Milestone changed from 1.13.0 to 1.14.0
renaming milestone
comment:19 Changed at 2020-06-30T14:45:13Z by exarkun
- Milestone changed from 1.14.0 to 1.15.0
Moving open issues out of closed milestones.
comment:20 Changed at 2021-03-30T18:40:19Z by meejah
- Milestone changed from 1.15.0 to soon
Ticket retargeted after milestone closed
If you like this ticket (and I hope you do, because we need somebody to step up and totally revamp mutable files to be faster, more robust, easier to understand, less buggy, etc.!) then you might like these tickets: #540 (inappropriate "uncoordinated write error" after handling a server failure), #546 (mutable-file surprise shares raise inappropriate UCWE), #893 (UCWE when mapupdate gives up too early, then server errors require replacement servers), #232 (Peer selection doesn't rebalance shares on overwrite of mutable file.), #270 (test for interrupted writes of mutable files), #394 (mutable publish: add timing charts to measure RTT), #474 (uncaught exception in mutable-retrieve: UCW between mapupdate and retrieve), #547 (mapupdate(MODE_WRITE) triggers on a false boundary), #548 (mutable publish sends queries to servers that have already been asked), #549 (MODE_WRITE mapupdate: maybe increase epsilon to handle large batches of new servers better), #667 (KeyError in mutable download), #846 (allmydata.test.test_system.SystemTest.test_mutable sometimes hangs on a slow machine), #1004 (how to fix 'multiple versions are recoverable'?), #1042 (KeyError exception seen in log when doing a mutable publish on the pubgrid).