Ticket #778: docs.txt

File docs.txt, 6.9 KB (added by kevan, at 2010-04-28T00:49:27Z)

update documentation patches per comment:181 and comment:173

Line 
1Fri Dec  4 19:38:13 PST 2009  Kevan Carstensen <kevan@isnotajoke.com>
2  * Update 'docs/configuration.txt' to reflect the servers_of_happiness behavior.
3
4Fri Dec  4 19:40:05 PST 2009  "Kevan Carstensen" <kevan@isnotajoke.com>
5  * Alter wording in 'interfaces.py' to be correct wrt #778
6
7Tue Apr 27 17:24:55 PDT 2010  Kevan Carstensen <kevan@isnotajoke.com>
8  * Alter the wording in docs/architecture.txt to more accurately describe the servers_of_happiness behavior.
9
10New patches:
11
12[Update 'docs/configuration.txt' to reflect the servers_of_happiness behavior.
13Kevan Carstensen <kevan@isnotajoke.com>**20091205033813
14 Ignore-this: 5e1cb171f8239bfb5b565d73c75ac2b8
15] hunk ./docs/configuration.txt 275
16  larger than 256, because of the 8-bit erasure-coding algorithm that Tahoe
17  uses.
18 
19- If servers are lost during an upload, shares.happy determines whether the
20- upload is considered successful or not. If at least "shares.happy" shares
21- were placed, the upload is declared a success, otherwise it is declared a
22- failure. The default value is 7. This value must not be smaller than k nor
23- larger than N.
24+ shares.happy allows you control over the distribution of your file. An upload
25+ is only considered successful if shares are placed on at least 'shares.happy'
26+ distinct servers, the correct functioning of at least k of which is sufficient
27+ to guarantee the availability of the uploaded file. This value should not be
28+ larger than the number of servers on your grid.
29 
30 
31 == Storage Server Configuration ==
32[Alter wording in 'interfaces.py' to be correct wrt #778
33"Kevan Carstensen" <kevan@isnotajoke.com>**20091205034005
34 Ignore-this: c9913c700ac14e7a63569458b06980e0
35] hunk ./src/allmydata/interfaces.py 1275
36     def set_params(params):
37         """Override the default encoding parameters. 'params' is a tuple of
38         (k,d,n), where 'k' is the number of required shares, 'd' is the
39-        shares_of_happiness, and 'n' is the total number of shares that will
40+        servers_of_happiness, and 'n' is the total number of shares that will
41         be created.
42 
43         Encoding parameters can be set in three ways. 1: The Encoder class
44[Alter the wording in docs/architecture.txt to more accurately describe the servers_of_happiness behavior.
45Kevan Carstensen <kevan@isnotajoke.com>**20100428002455
46 Ignore-this: 6eff7fa756858a1c6f73728d989544cc
47] {
48hunk ./docs/architecture.txt 180
49 up with as many shares as we desire.
50 
51 If we are unable to place every share that we want, but we still managed to
52-place a quantity known as "shares of happiness", we'll do the upload anyways.
53-If we cannot place at least this many, the upload is declared a failure.
54+place a quantity known as "servers of happiness" that each map to a unique
55+server, we'll do the upload anyways. If we cannot place at least this many
56+in this way, the upload is declared a failure.
57 
58 The current defaults use k=3, shares_of_happiness=7, and N=10, meaning that
59hunk ./docs/architecture.txt 185
60-we'll try to place 10 shares, we'll be happy if we can place 7, and we need
61-to get back any 3 to recover the file. This results in a 3.3x expansion
62-factor. In general, you should set N about equal to the number of nodes in
63-your grid, then set N/k to achieve your desired availability goals.
64+we'll try to place 10 shares, we'll be happy if we can place shares on enough
65+servers that there are 7 different servers, the correct functioning of any 3 of
66+which guarantee the availability of the file, and we need to get back any 3 to
67+recover the file. This results in a 3.3x expansion factor. On a small grid, you
68+should set N about equal to the number of storage servers in your grid; on a
69+large grid, you might set it to something smaller to avoid the overhead of
70+contacting every server to place a file. In either case, you should then set k
71+such that N/k reflects your desired availability goals. The correct value for
72+servers_of_happiness will depend on how you use Tahoe-LAFS. In a friendnet with
73+a variable number of servers, it might make sense to set it to the smallest
74+number of servers that you expect to have online and accepting shares at any
75+given time. In a stable environment without much server churn, it may make
76+sense to set servers_of_happiness = N.
77 
78 When downloading a file, the current version just asks all known servers for
79 any shares they might have. Once it has received enough responses that it
80}
81
82Context:
83
84["tahoe webopen": add --info flag, to get ?t=info
85Brian Warner <warner@lothar.com>**20100424233003
86 Ignore-this: 126b0bb6db340fabacb623d295eb45fa
87 
88 Also fix some trailing whitespace.
89]
90[docs: install.html http-equiv refresh to quickstart.html
91zooko@zooko.com**20100421165708
92 Ignore-this: 52b4b619f9dde5886ae2cd7f1f3b734b
93]
94[docs: install.html -> quickstart.html
95zooko@zooko.com**20100421155757
96 Ignore-this: 6084e203909306bed93efb09d0e6181d
97 It is not called "installing" because that implies that it is going to change the configuration of your operating system. It is not called "building" because that implies that you need developer tools like a compiler. Also I added a stern warning against looking at the "InstallDetails" wiki page, which I have renamed to "AdvancedInstall".
98]
99[Fix another typo in tahoe_storagespace munin plugin
100david-sarah@jacaranda.org**20100416220935
101 Ignore-this: ad1f7aa66b554174f91dfb2b7a3ea5f3
102]
103[Add dependency on windmill >= 1.3
104david-sarah@jacaranda.org**20100416190404
105 Ignore-this: 4437a7a464e92d6c9012926b18676211
106]
107[licensing: phrase the OpenSSL-exemption in the vocabulary of copyright instead of computer technology, and replicate the exemption from the GPL to the TGPPL
108zooko@zooko.com**20100414232521
109 Ignore-this: a5494b2f582a295544c6cad3f245e91
110]
111[munin-tahoe_storagespace
112freestorm77@gmail.com**20100221203626
113 Ignore-this: 14d6d6a587afe1f8883152bf2e46b4aa
114 
115 Plugin configuration rename
116 
117]
118[setup: add licensing declaration for setuptools (noticed by the FSF compliance folks)
119zooko@zooko.com**20100309184415
120 Ignore-this: 2dfa7d812d65fec7c72ddbf0de609ccb
121]
122[setup: fix error in licensing declaration from Shawn Willden, as noted by the FSF compliance division
123zooko@zooko.com**20100309163736
124 Ignore-this: c0623d27e469799d86cabf67921a13f8
125]
126[CREDITS to Jacob Appelbaum
127zooko@zooko.com**20100304015616
128 Ignore-this: 70db493abbc23968fcc8db93f386ea54
129]
130[desert-island-build-with-proper-versions
131jacob@appelbaum.net**20100304013858]
132[docs: a few small edits to try to guide newcomers through the docs
133zooko@zooko.com**20100303231902
134 Ignore-this: a6aab44f5bf5ad97ea73e6976bc4042d
135 These edits were suggested by my watching over Jake Appelbaum's shoulder as he completely ignored/skipped/missed install.html and also as he decided that debian.txt wouldn't help him with basic installation. Then I threw in a few docs edits that have been sitting around in my sandbox asking to be committed for months.
136]
137[TAG allmydata-tahoe-1.6.1
138david-sarah@jacaranda.org**20100228062314
139 Ignore-this: eb5f03ada8ea953ee7780e7fe068539
140]
141Patch bundle hash:
142745e7b81d96e2982de3bc27b54e3b0d854b635fb