[tahoe-dev] about private directory management in tahoe v0.7.0
zooko
zooko at zooko.com
Wed Dec 19 15:04:32 PST 2007
Brian:
Do you want to be free of tahoe-related e-mails over your winter
vacation? If so, disregard this one. If you don't mind receiving
this stuff, then please let me know -- it is "opt-in" after this one.
I still have an open issue with the creation of the private
directory: #233 "work-around the poor handling of weird server sets
in v0.7.0". The current behavior is that when you create a new tahoe
node and start it, it (usually?) creates a private directory with all
of the shares stored on your node. This means that if that node is
not reachable later then you won't be able to access your private
directory, and if that node's hard disk dies then the directory will
be gone. Ticket #233 says that we should work-around this behavior
for v0.7.0. There are other tickets to improve management of the
private directory after v0.7.0: #213 -- "good handling of small
numbers of servers, or strange choice of servers", #232 -- "Peer
selection doesn't rebalance shares on overwrite of mutable file.",
and #234 -- "Nice UI for creation of private directory."
It occurs to me that #115 -- "distributed dirnodes" -- which is also
required for v0.7.0, has these these items remaining to implement:
* add "?redirect_to_result=true" flag to request an "HTTP 303 See
Other" redirect to the resulting newly created directory
* add a form to the welcome page to create a new directory and
redirect to it
Once this feature is in, then there will be a button on the welcome
page that says "create a new directory". When you push that button,
it will create a new directory which is private in the sense of not
being readable or changeable by anyone other than you, and whose
shares have been spread out over all servers which were connected at
the time that you pushed the button (up to M, where the default value
of M is currently 10). I remember you suggesting this as a cleaner
way to solve the problem that the "wait_until_numpeers" argument
attempts to solve.
So this "create a new directory" button is a better implementation of
private directories than the automatic private directory is, except
that the command-line tool's "-r private" option will not know the
URI (capability) for the newly created directory.
I've already been thinking that the notion of a private directory
created automatically by the node when it first starts up is a bad
match for our use cases, because it makes the most sense when the
node is for a single user, and the node is running on the same
filesystem that the command-line tool is running on. This does not
match most of our current use cases, where one node may serve
multiple users, and where the command-line tool might be running on a
separate filesystem from the node.
I propose in v0.7.0 to remove the notion of automatic creation of a
private directory by a node and replace it by explicit creation using
the "create a new directory" button. Then I propose that for v0.7.0
the user chooses which directory they want the command-line tool to
use by default, and they manually copy the cap of that directory into
their "private/my_private_dir.cap" file.
Having a manual step like that to set up the command-tool isn't
ideal, but it is good enough for v0.7.0.
Regards,
Zooko
tahoe tickets mentioned in this e-mail:
http://allmydata.org/trac/tahoe/ticket/115
http://allmydata.org/trac/tahoe/ticket/213
http://allmydata.org/trac/tahoe/ticket/232
http://allmydata.org/trac/tahoe/ticket/233
http://allmydata.org/trac/tahoe/ticket/234
More information about the tahoe-dev
mailing list