Commit Graph

33 Commits

Author SHA1 Message Date
Brian Warner
8063aa8b86 WriteBucketProxy: improve __repr__ 2008-01-28 18:53:51 -07:00
Brian Warner
a6ca98ac53 upload: add Encoder.abort(), to abandon the upload in progress. Add some debug hooks to enable unit tests. 2008-01-14 21:22:55 -07:00
Brian Warner
76ee9cccfe storage: improve logging a bit 2008-01-14 11:58:58 -07:00
Brian Warner
841c1a8509 storage.py: factor out a common compare() routine 2007-12-05 00:20:34 -07:00
Zooko O'Whielacronx
3605354a95 fix several bugs and warnings -- thanks, pyflakes 2007-12-03 15:42:35 -07:00
Zooko O'Whielacronx
59d6c3c822 decentralized directories: integration and testing
* use new decentralized directories everywhere instead of old centralized directories
 * provide UI to them through the web server
 * provide UI to them through the CLI
 * update unit tests to simulate decentralized mutable directories in order to test other components that rely on them
 * remove the notion of a "vdrive server" and a client thereof
 * remove the notion of a "public vdrive", which was a directory that was centrally published/subscribed automatically by the tahoe node (you can accomplish this manually by making a directory and posting the URL to it on your web site, for example)
 * add a notion of "wait_for_numpeers" when you need to publish data to peers, which is how many peers should be attached before you start.  The default is 1.
 * add __repr__ for filesystem nodes (note: these reprs contain a few bits of the secret key!)
 * fix a few bugs where we used to equate "mutable" with "not read-only".  Nowadays all directories are mutable, but some might be read-only (to you).
 * fix a few bugs where code wasn't aware of the new general-purpose metadata dict the comes with each filesystem edge
 * sundry fixes to unit tests to adjust to the new directories, e.g. don't assume that every share on disk belongs to a chk file.
2007-12-03 14:52:42 -07:00
Brian Warner
ba43c033fa storage.py: add a little logging (disabled) 2007-11-07 14:14:54 -07:00
Brian Warner
c4f7412f1c stabilize on 20-byte nodeids everywhere, printed with foolscap's base32 2007-11-06 18:49:59 -07:00
Brian Warner
e08b091d9f storage: rewrite slot API, now use testv_and_readv_and_writev or readv 2007-11-05 20:17:14 -07:00
Brian Warner
8f21424449 storage: add readv_slots: get data from all shares 2007-11-05 00:37:01 -07:00
Brian Warner
bcf84c1238 storage.py: fix tests, timestamps get updated when leases are renewed 2007-10-31 12:31:33 -07:00
Brian Warner
70e7961088 storage.py: more test coverage, make sure leases survive resizing 2007-10-31 12:07:47 -07:00
Brian Warner
948e6b34dd storage.py: improve test coverage even more 2007-10-31 01:44:01 -07:00
Brian Warner
4bd739435f storage.py: more mutable-slot coverage, renewing/cancelling leases 2007-10-31 01:31:56 -07:00
Brian Warner
256ef1bf53 mutable slots: add some test coverage for lease-addition 2007-10-31 00:38:30 -07:00
Brian Warner
68d3d62002 mutable slots: finish up basic coding on server-side containers, add some tests. Remove all caching from MutableShareFile. 2007-10-31 00:10:40 -07:00
Brian Warner
b24c2925e8 checkpointing mutable-file work. Storage layer is 80% in place. 2007-10-30 19:47:36 -07:00
Brian Warner
8451b485a4 storage: fill alreadygot= with all known shares for the given storageindex, not just the ones they asked about 2007-09-17 00:48:40 -07:00
Brian Warner
d628d5f503 storage: remove the leftover incoming/XYZ/ directory when we're done with it 2007-09-15 14:34:04 -07:00
Brian Warner
e1e037e9b5 storage: always record lease expiration times as integers 2007-09-11 14:53:31 -07:00
Brian Warner
277e720f7c storage: add version number to share data. Closes #90. 2007-09-04 09:00:24 -07:00
Brian Warner
fb65aadd82 storage: don't add a duplicate lease, renew the old one instead 2007-09-02 21:39:47 -07:00
Brian Warner
89c7f27572 storage: remove get_or_add_owner, since I don't know what we need yet 2007-09-02 15:03:40 -07:00
Brian Warner
94233b8813 storage: remove unused delete_bucket() method, lease-cancellation covers it 2007-09-02 15:00:29 -07:00
Brian Warner
85f3107b12 storage: handle simultanous uploads: add a lease for the pre-empted client 2007-09-02 14:57:49 -07:00
Brian Warner
0fe1205789 storage: replace sqlite with in-share lease records 2007-09-02 14:47:15 -07:00
Brian Warner
a605fe5cad storage: use sqlite from either python2.5's stdlib or the pysqlite2 package 2007-08-28 23:28:52 -07:00
Brian Warner
2a63fe8b01 deletion phase3: add a sqlite database to track renew/cancel-lease secrets, implement renew/cancel_lease (but nobody calls them yet). Also, move the shares from BASEDIR/storage/* down to BASEDIR/storage/shares/* 2007-08-27 23:41:40 -07:00
Brian Warner
739ae1ccde deletion phase1: send renew/cancel-lease secrets, but my_secret is fake, and the StorageServer discards them 2007-08-27 17:28:51 -07:00
Brian Warner
1aa22b9abd client.py: add a 'debug_no_storage' option to throw out all share data 2007-07-16 18:07:03 -07:00
Brian Warner
8a39ee9034 storage.py: turn some assertions into preconditions 2007-07-13 19:30:48 -07:00
Brian Warner
9fc687cdfc storage.py: handle num_segments != power-of-two without an assertion 2007-07-13 19:30:21 -07:00
Brian Warner
c6f52e379a rename storageserver.py to just storage.py, since it has both server and client sides now 2007-07-13 17:25:45 -07:00