5 patches for repository tahoe-lafs.org:/home/source/darcs/tahoe-lafs/ticket999-S3-backend:
Thu Mar 8 03:51:24 GMT 2012 david-sarah@jacaranda.org
* Maybe fix a Python 2.4 yield-in-try incompatibility (probably not, but this is a slight simplification).
Thu Mar 8 03:55:38 GMT 2012 david-sarah@jacaranda.org
* Remove unnecessary 'xml' argument to TahoeS3Error (duplicate of last argument).
Thu Mar 8 03:56:37 GMT 2012 david-sarah@jacaranda.org
* S3 backend: fix and test the limitation on number of objects by using prefix queries (relying on txaws 0.2.1.post3). refs #1678.
Thu Mar 8 22:45:08 GMT 2012 david-sarah@jacaranda.org
* S3 backend: replace the response body when reporting an S3 SignatureDoesNotMatch error as a TahoeS3Error, to avoid any possibility of leaking credentials echoed in the response. (Sorry if this hampers debugging.)
Thu Mar 8 22:45:44 GMT 2012 david-sarah@jacaranda.org
* S3 backend: set the content type to application/octet-stream when storing shares.
New patches:
[Maybe fix a Python 2.4 yield-in-try incompatibility (probably not, but this is a slight simplification).
david-sarah@jacaranda.org**20120308035124
Ignore-this: 96e895feee0c1675d4df17e2c77abb31
] hunk ./src/allmydata/storage/backends/disk/immutable.py 249
except: # workaround for silly Python 2.4 restriction on yield-in-try/finally
f.close()
raise
- else:
- f.close()
+ f.close()
def add_lease(self, lease_info):
f = self._home.open(mode='rb+')
[Remove unnecessary 'xml' argument to TahoeS3Error (duplicate of last argument).
david-sarah@jacaranda.org**20120308035538
Ignore-this: 418db828186aacd1b8251b3e46e89a06
] {
hunk ./src/allmydata/storage/backends/s3/s3_common.py 92
raise f.value
except self.S3Error:
typ, val, tb = sys.exc_info()
- xml = f.value.original
fargs = f.value.args
hunk ./src/allmydata/storage/backends/s3/s3_common.py 93
- err = TahoeS3Error(xml, *fargs)
+ err = TahoeS3Error(*fargs)
log.msg(format="%(err)s", err=err, level=log.WEIRD)
raise err.__class__, err, tb
d.addErrback(_handle_error)
hunk ./src/allmydata/test/test_storage.py 1336
def done(res):
if isinstance(res, Failure):
res.trap(s3_common.TahoeS3Error)
- self.failUnlessIn("('XML', 500, 'Internal error', 'response')", str(res.value))
+ self.failUnlessIn("(500, 'Internal error', 'response')", str(res.value))
self.failUnless(s["level"] >= WEIRD, s["level"])
else:
self.fail("was supposed to raise TahoeS3Error, not get %r" % (res,))
}
[S3 backend: fix and test the limitation on number of objects by using prefix queries (relying on txaws 0.2.1.post3). refs #1678.
david-sarah@jacaranda.org**20120308035637
Ignore-this: cffe79e4497c69ff5860714534c5087d
] {
hunk ./src/allmydata/storage/backends/s3/mock_s3.py 5
from twisted.internet import defer
from twisted.web.error import Error
+from foolscap.logging import log
+
from zope.interface import implements
from allmydata.storage.backends.s3.s3_common import IS3Bucket, S3BucketMixin
from allmydata.util.time_format import iso_utc
hunk ./src/allmydata/storage/backends/s3/mock_s3.py 23
return S3Backend(s3bucket, corruption_advisory_dir)
-MAX_KEYS = 1000
-
class MockS3Bucket(S3BucketMixin):
implements(IS3Bucket)
"""
hunk ./src/allmydata/storage/backends/s3/mock_s3.py 56
shnumstr = sharefp.basename()
yield (sharefp, "%s/%s" % (sikey, shnumstr))
- def _list_all_objects(self):
+ def _list_objects(self, prefix='', max_keys=1000):
contents = []
def _next_share(res):
if res is None:
hunk ./src/allmydata/storage/backends/s3/mock_s3.py 62
return
(sharefp, sharekey) = res
- mtime_utc = iso_utc(sharefp.getmtime(), sep=' ')+'+00:00'
- item = BucketItem(key=sharekey, modification_date=mtime_utc, etag="",
- size=sharefp.getsize(), storage_class="STANDARD")
- contents.append(item)
- return len(contents) < MAX_KEYS
+ if sharekey.startswith(prefix):
+ mtime_utc = iso_utc(sharefp.getmtime(), sep=' ')+'+00:00'
+ item = BucketItem(key=sharekey, modification_date=mtime_utc, etag="",
+ size=sharefp.getsize(), storage_class="STANDARD")
+ contents.append(item)
+ return len(contents) < max_keys
d = async_iterate(_next_share, self._iterate_dirs())
hunk ./src/allmydata/storage/backends/s3/mock_s3.py 70
- d.addCallback(lambda completed:
- BucketListing(self.bucketname, '', '/', MAX_KEYS,
- is_truncated=not completed, contents=contents))
+ def _done(completed):
+ contents.sort(key=lambda item: item.key)
+ return BucketListing(self.bucketname, '', '', max_keys,
+ is_truncated=not completed, contents=contents)
+ d.addCallback(_done)
return d
def _get_filepath(self, object_name, must_exist=False):
hunk ./src/allmydata/storage/backends/s3/mock_s3.py 113
def delete(self):
return self._do_aws(self._delete)
- def list_all_objects(self):
- return self._do_aws(self._list_all_objects)
+ def list_objects(self, **kwargs):
+ d = self._do_aws(self._list_objects, **kwargs)
+ def _log(res):
+ if res.is_truncated:
+ log.msg(format="truncated get_bucket response (%(num)d objects)", num=len(res.contents), level=log.WEIRD)
+ return res
+ d.addCallback(_log)
+ return d
def put_object(self, object_name, data, content_type=None, metadata={}):
return self._do_aws(self._put_object, object_name, data, content_type, metadata)
hunk ./src/allmydata/storage/backends/s3/s3_backend.py 12
from allmydata.storage.backends.base import Backend, ShareSet
from allmydata.storage.backends.s3.immutable import ImmutableS3ShareForReading, ImmutableS3ShareForWriting
from allmydata.storage.backends.s3.mutable import load_mutable_s3_share, create_mutable_s3_share
-from allmydata.storage.backends.s3.s3_common import get_s3_share_key, list_objects, NUM_RE
+from allmydata.storage.backends.s3.s3_common import get_s3_share_key, NUM_RE
from allmydata.mutable.layout import MUTABLE_MAGIC
hunk ./src/allmydata/storage/backends/s3/s3_backend.py 65
self._incomingset = set()
def get_sharesets_for_prefix(self, prefix):
- d = list_objects(self._s3bucket, 'shares/%s/' % (prefix,))
+ d = self._s3bucket.list_objects(prefix='shares/%s/' % (prefix,))
def _get_sharesets(res):
# XXX this enumerates all shares to get the set of SIs.
# Is there a way to enumerate SIs more efficiently?
hunk ./src/allmydata/storage/backends/s3/s3_backend.py 110
return 0
def get_shares(self):
- d = list_objects(self._s3bucket, self._key)
+ d = self._s3bucket.list_objects(prefix=self._key)
def _get_shares(res):
si = self.get_storage_index()
shnums = []
hunk ./src/allmydata/storage/backends/s3/s3_bucket.py 2
+from foolscap.logging import log
+
from zope.interface import implements
from allmydata.storage.backends.s3.s3_common import IS3Bucket, S3BucketMixin
hunk ./src/allmydata/storage/backends/s3/s3_bucket.py 52
def delete(self):
return self._do_aws(self.client.delete, self.bucketname)
- # We want to be able to do prefix queries, but txaws 0.2 doesn't implement that.
- def list_all_objects(self):
- return self._do_aws(self.client.get_bucket, self.bucketname)
+ def list_objects(self, **kwargs):
+ d = self._do_aws(self.client.get_bucket, self.bucketname, **kwargs)
+ def _log(res):
+ if res.is_truncated:
+ log.msg(format="truncated get_bucket response (%(num)d objects)", num=len(res.contents), level=log.WEIRD)
+ return res
+ d.addCallback(_log)
+ return d
def put_object(self, object_name, data, content_type=None, metadata={}):
return self._do_aws(self.client.put_object, self.bucketname,
hunk ./src/allmydata/storage/backends/s3/s3_common.py 21
else:
return "shares/%s/%s/%d" % (sistr[:2], sistr, shnum)
-def list_objects(s3bucket, prefix, marker='/'):
- # XXX we want to be able to implement this in terms of a prefix query. Fake it for now.
- #d = self._s3bucket.list_objects('shares/%s/' % (prefix,), marker)
- d = s3bucket.list_all_objects()
- def _filter(res):
- if res.is_truncated:
- log.msg(format="truncated get_bucket response (%(num)d objects)", num=len(res.contents), level=log.WEIRD)
- res.contents = [item for item in res.contents if item.key.startswith(prefix)]
- return res
- d.addCallback(_filter)
- return d
-
NUM_RE=re.compile("^[0-9]+$")
hunk ./src/allmydata/storage/backends/s3/s3_common.py 39
The bucket must be empty before it can be deleted.
"""
- def list_all_objects():
+ def list_objects(**kwargs):
"""
Get a BucketListing that lists all the objects in this bucket.
"""
hunk ./src/allmydata/storage/backends/s3/s3_common.py 72
class S3BucketMixin:
- def _do_aws(self, operation, *args):
- d = defer.maybeDeferred(operation, *args)
+ def _do_aws(self, operation, *args, **kwargs):
+ d = defer.maybeDeferred(operation, *args, **kwargs)
def _handle_error(f):
f.trap(self.S3Error)
try:
hunk ./src/allmydata/test/test_storage.py 21
from allmydata.storage.backends.disk.disk_backend import DiskBackend
from allmydata.storage.backends.disk.immutable import load_immutable_disk_share, create_immutable_disk_share
from allmydata.storage.backends.disk.mutable import MutableDiskShare
-from allmydata.storage.backends.s3 import s3_common
from allmydata.storage.backends.s3.s3_backend import S3Backend
hunk ./src/allmydata/test/test_storage.py 22
+from allmydata.storage.backends.s3 import mock_s3, s3_common
from allmydata.storage.backends.s3.mock_s3 import MockS3Bucket, MockS3Error, BucketListing
from allmydata.storage.bucket import BucketWriter, BucketReader
from allmydata.storage.common import DataTooLargeError, UnknownContainerVersionError, \
hunk ./src/allmydata/test/test_storage.py 379
class S3Common(unittest.TestCase):
+ def workdir(self, name):
+ return FilePath("storage").child(self.__class__.__name__).child(name)
+
def test_list_objects_truncated(self):
# A truncated bucket listing should cause an incident.
hunk ./src/allmydata/test/test_storage.py 384
+ basedir = self.workdir("test_list_objects_truncated")
+ basedir.makedirs()
hunk ./src/allmydata/test/test_storage.py 387
- class MockBucket(object):
- def list_all_objects(self):
- return defer.succeed(BucketListing("bucket", "", "/", 0, True, contents=[]))
+ class MockBucket(MockS3Bucket):
+ def _list_objects(self, prefix=''):
+ return defer.succeed(BucketListing("bucket", "", "", 0, True, contents=[]))
s = {"level": 0}
def call_log_msg(*args, **kwargs):
hunk ./src/allmydata/test/test_storage.py 394
s["level"] = max(s["level"], kwargs["level"])
- self.patch(s3_common.log, 'msg', call_log_msg)
+ self.patch(mock_s3.log, 'msg', call_log_msg)
hunk ./src/allmydata/test/test_storage.py 396
- d = s3_common.list_objects(MockBucket(), "")
+ bucket = MockBucket(basedir)
+ d = bucket.list_objects(prefix="")
d.addCallback(lambda ign: self.failUnless(s["level"] >= WEIRD, s["level"]))
return d
hunk ./src/allmydata/test/test_storage.py 1332
s = {"level": 0}
def call_log_msg(*args, **kwargs):
s["level"] = max(s["level"], kwargs["level"])
- self.patch(s3_common.log, 'msg', call_log_msg)
+ self.patch(mock_s3.log, 'msg', call_log_msg)
ss = self.create("test_s3_errors")
}
[S3 backend: replace the response body when reporting an S3 SignatureDoesNotMatch error as a TahoeS3Error, to avoid any possibility of leaking credentials echoed in the response. (Sorry if this hampers debugging.)
david-sarah@jacaranda.org**20120308224508
Ignore-this: 1da251dbd7b595cba52c121f2ceee480
] hunk ./src/allmydata/storage/backends/s3/s3_common.py 81
except self.S3Error:
typ, val, tb = sys.exc_info()
fargs = f.value.args
+ if len(fargs) > 2 and 'signaturedoesnotmatch
' in fargs[2].lower():
+ fargs[2] = "SignatureDoesNotMatch response redacted"
err = TahoeS3Error(*fargs)
log.msg(format="%(err)s", err=err, level=log.WEIRD)
raise err.__class__, err, tb
[S3 backend: set the content type to application/octet-stream when storing shares.
david-sarah@jacaranda.org**20120308224544
Ignore-this: aef622b207e8c49569bc6ae84ef4f794
] hunk ./src/allmydata/storage/backends/s3/s3_bucket.py 61
d.addCallback(_log)
return d
- def put_object(self, object_name, data, content_type=None, metadata={}):
+ def put_object(self, object_name, data, content_type='application/octet-stream', metadata={}):
return self._do_aws(self.client.put_object, self.bucketname,
object_name, data, content_type, metadata)
Context:
[Allow PyCrypto 2.4 for now as a temporary hack.
david-sarah@jacaranda.org**20120224064138
Ignore-this: 16fe87837ba168386b155db258e015d5
]
[Fix an incompatibility with Python 2.4 (doesn't support yield within try/finally).
david-sarah@jacaranda.org**20120223060521
Ignore-this: d8b6bdd20ca168886fe1cadef9d9a56
]
[Remove test_provisioning.py, as on trunk.
david-sarah@jacaranda.org**20120223060441
Ignore-this: cd7f2b36de703278147250bf43bc12d1
]
[Adapt the test for #1654 to the ticket999-S3-backend branch. I verified that reverting the fix for #1654 causes the adapted test to fail.
david-sarah@jacaranda.org**20120220202753
Ignore-this: 81dade25475c6421b83d164ec1811f0
]
[test_provisioning.py: follow naming convention for mock class.
david-sarah@jacaranda.org**20120220193255
Ignore-this: 40c46e2159484a8ff1623677a59763de
]
[Resolve conflicts in fix for #1628. Note that the conflict in the _record_verinfo method in publish.py was nontrivial.
david-sarah@jacaranda.org**20120220193150
Ignore-this: d589a712e8597efa10ce63389da349cb
]
[make provisioning/reliability work in the new location, fix tests
Brian Warner **20120216222905
Ignore-this: 8a2923a54ca224fe69fe404e819aaaac
]
[remove 'provisioning'/'reliability' from WUI, add to misc/operations_helpers
Brian Warner **20120216222905
Ignore-this: 4090c8ac99f139393d9573b65cbbfe0c
Also remove docs related to reliability/provisioning pages
]
[provisioning.py: update disk sizes and usage numbers
Brian Warner **20120213155708
Ignore-this: e47ee282bfba4beb2598b227add5250a
]
[configuration.rst: another attempt to fix formatting of sample tahoe.cfg.
david-sarah@jacaranda.org**20120131000949
Ignore-this: bb67b6c9bb191a1335eaadfe9594fa4f
]
[configuration.rst: remove the obsolete sizelimit option from the sample tahoe.cfg. Also fix the RST formatting of blank lines in the file.
david-sarah@jacaranda.org**20120131000643
Ignore-this: 9c5327edf031d8578c19383d950b17b9
]
[Add a Python 3 blocker to setup.py, to display a better error message when it is run under Python 3.
david-sarah@jacaranda.org**20120127015525
Ignore-this: 5f032794ecc8cd6c512a7ab9efffed2
]
[Ensure that verification proceeds and stops when appropriate.
Brian Warner **20120124205209
Ignore-this: 88278bbd6a3b33cf3b286feaa162ad02
The removed assertions are appropriate for a download that seeks to
return plaintext to a caller; if we don't have at least k active remote
shares, then we can't hope to do that. They're not appropriate for a
verification operation; a user can try to verify a file that has fewer
than k shares available, so that shouldn't be treated as an error.
Instead, we proceed with fewer than k shares, and ensure that we
terminate the download if we have no shares at all and we're verifying.
]
[Add test_verify_mdmf_all_bad_sharedata
Brian Warner **20120124205209
Ignore-this: 52acb4f0256af764acb038f7c8344367
test_verify_mdmf_all_bad_sharedata tests for the regression described
in ticket 1648. In particular, it will trigger the misplaced assertion
in the share activation code. It also tests to make sure that
verification continues with fewer than k shares.
]
[Added clarification on how interface= works
Brian Warner **20120124203821
Ignore-this: 57f86d178c8e4f3c62d15bf99dec7d0d
]
[FTP-and-SFTP.rst: minor edits
Brian Warner **20120124203654
Ignore-this: ec21fadb85cf7b3192d32b02c03c3656
]
[Updated accounts.url directive per warner's suggestions
Brian Warner **20120124203126
Ignore-this: 9297ec6406e11d4e1fe24ba3a06725e3
]
[Added information on accounts.url directive
Brian Warner **20120124203126
Ignore-this: 6d6142418eabdad789a2fc68f26b3ba1
]
[docs: an extra newline to separate utf-8 BOF from comment for the sake of trac's rst renderer
zooko@zooko.com**20120122212002
Ignore-this: 5c6d0dbfa1430681fa00494937537956
]
[docs: a newline between the utf-8 BOF and the comment in order to prevent trac from misrendering the comment
zooko@zooko.com**20120122211856
Ignore-this: 5e92cb88ba46b82227338522b834b90d
sheesh
]
[docs: a comment to inform the (human) reader about encoding and to prevent someone from moving the title up to where it will interact with the utf-8 BOM and cause trac to mis-render the title
zooko@zooko.com**20120122211731
Ignore-this: f7912a13ffba60408ec901a9586ce8a4
]
[docs: insert another newline between utf-8 BOF and title
zooko@zooko.com**20120122211427
Ignore-this: 1b3861ef7d4531acfa61fac31e14fe98
]
[docs: insert newline after utf-8 BOF and before restructuredtext title
zooko@zooko.com**20120122182127
Ignore-this: f947afe5bdfc9f44ba9bf7f0e585da7c
]
[docs: remove utf-8 "BOM" which confuses trac's rst renderer
zooko@zooko.com**20120122140052
Ignore-this: ba58c59a314f23c65de5443bd7b6ffcb
]
[docs: try again to change RestructuredText titles to a format that trac will render
zooko@zooko.com**20120122135613
Ignore-this: 588bbb627a95cd8317c809567cfa3e78
]
[docs: backdoors.rst: fix title formatting
zooko@zooko.com**20120122135125
Ignore-this: 5bf980c1a8703ee353cd747ae343176a
]
[docs: backdoors.rst: stop using embedded URIs and tweak title so that trac will render it correctly; reflow to fill-column 77; M-x whitespace-cleanup
zooko@zooko.com**20120122134319
Ignore-this: e1b5b3d2809040cfd7f13bb88ee8313d
]
[update release process: git, not darcs, etc
Brian Warner **20120113071257
Ignore-this: 2eaa1f0e93dc545989bb1e62b2446e1e
]
[prepare to Org-ify how_to_make_a_tahoe-lafs_release: rename the file
Brian Warner **20120113070153
Ignore-this: d9bb83dfd6c3b4c0ca0efd2adacdf63c
]
[retrieve.py: unconditionally check share-hash-tree. Fixes #1654.
Brian Warner **20120112213553
Ignore-this: 7ddc903a382b52bc014262b3b4099165
Add Kevan's unit test, update known_issues.rst
]
[mutable/retrieve.py: clean up control flow to avoid dropping errors
Brian Warner **20120108221248
Ignore-this: 4e991bdf6399439d2cee3d743814a327
* replace DeferredList with gatherResults, simplify result handling
* use BadShareError to signal recoverable problems in either fetch or
validate, catch after _validate_block
* _validate_block is thus not responsible for noticing fetch problems
* rename _validation_or_decoding_failed() to _handle_bad_share()
* _get_needed_hashes() returns two Deferreds, instead of a hard-to-unpack
DeferredList
]
[mutable/layout.py: raise BadShareError instead of assert()
Brian Warner **20120108221247
Ignore-this: 129891a807315f657b80576025135df8
]
[mutable: don't tell server about corruption unless it's really CorruptShareError
Brian Warner **20120108221245
Ignore-this: 90da01af1008477c45d333a0f74f1c5b
]
[mutable: simplify Retrieve._process_segment() to use a gatherDeferred
Brian Warner **20120108221244
Ignore-this: cfc7a56414889d02bffd747f1abad8ef
]
[Retrieve.decode(): simplify setup of DeferredList-like argument
Brian Warner **20120108221240
Ignore-this: c92d377bf4d65251240e59c8db5452af
make it more obviously match the expectations of _decode_blocks() and
_maybe_decode_and_decrypt_segment()
]
[test_mutable: don't use 75 shares (slow), now that the bug is fixed
Brian Warner **20111228223819
Ignore-this: 930f1a24ebe9ed2ab25e4b2a16e36352
I missed this part of Kevan's fix-1628.darcs.2.patch .
]
[mutable publish: fix not-enough-shares detection. Refs #1628.
Brian Warner **20111228055018
Ignore-this: 23db08d8d630268e208e1755509adf92
This should match the "fix-1628.darcs.2.patch" attachment on that ticket.
]
[mutable publish: track multiple servers-per-share. Fixes some of #1628.
Brian Warner **20111228053358
Ignore-this: 6e8cb92e70273b81098f73ebf23164bd
The remaining work is to write additional tests.
src/allmydata/test/no_network.py:
This supports tests in which servers leave the grid only to return with
their shares intact at a later time.
src/allmydata/test/test_mutable.py:
The UCWEs in the incident reports associated with #1628 all seem to be
associated with shares that the servermap knows about, but which aren't
accounted for during the publish process for whatever reason. Specifically,
it looks like the publisher is only capable of keeping track of a single
storage server for a given share. This makes the repair process worse than
it was pre-MDMF at updating all of the shares of a particular file to the
newest version, and can also cause spurious UCWEs. This test simulates such
a layout and fails if an UCWE is thrown. We need to write another test to
ensure that all copies of a share are updated to the latest version (or
alter this test to do that), so that the test suite doesn't pass unless both
regressions are fixed.
We want the publisher to follow the existing share placement when uploading
a new version of a mutable file, and we don't want this test to pass unless
it does.
src/allmydata/mutable/publish.py:
Before this commit, the publisher only kept track of a single writer for
each share. This is insufficient to handle updates in which a single share
may live on multiple servers. In the best case, an update will only update
one of the existing shares instead of all of them. In some cases, the update
will encounter the existing shares when publishing some other share,
interpret it as a sign of an uncoordinated update, and fail. Keeping track
of all of the writers helps ensure that all existing shares are updated, and
helps avoid spurious uncoordinated write errors.
]
[IServer refactoring: pass IServer instances around, instead of peerids
Brian Warner **20111101040319
Ignore-this: 35e4698a0273a0311fe0ccedcc7881b5
refs #1363
This collapses 88 small incremental changes (each of which passes all tests)
into one big patch. The development process for the long path started with
adding some temporary scaffolding, changing one method at a time, then
removing the scaffolding. The individual pieces are as follows, in reverse
chronological order (the first patch is at the end of this comment):
commit 9bbe4174fd0d98a6cf47a8ef96e85d9ef34b2f9a
Author: Brian Warner
Date: Tue Oct 4 16:05:00 2011 -0400
immutable/downloader/status.py: correct comment
src/allmydata/immutable/downloader/status.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
commit 72146a7c7c91eac2f7c3ceb801eb7a1721376889
Author: Brian Warner
Date: Tue Oct 4 15:46:20 2011 -0400
remove temporary ServerMap._storage_broker
src/allmydata/mutable/checker.py | 2 +-
src/allmydata/mutable/filenode.py | 2 +-
src/allmydata/mutable/publish.py | 2 +-
src/allmydata/mutable/servermap.py | 5 ++---
src/allmydata/test/test_mutable.py | 8 ++++----
5 files changed, 9 insertions(+), 10 deletions(-)
commit d703096b41632c47d76414b12672e076a422ff5c
Author: Brian Warner
Date: Tue Oct 4 15:37:05 2011 -0400
remove temporary storage_broker.get_server_for_id()
src/allmydata/storage_client.py | 3 ---
src/allmydata/test/no_network.py | 13 -------------
2 files changed, 0 insertions(+), 16 deletions(-)
commit 620cc5d80882ef6f7decfd26af8a6c7c1ddf80d1
Author: Brian Warner
Date: Tue Oct 4 12:50:06 2011 -0400
API of Retrieve._try_to_validate_privkey(), trying to remove reader.server
src/allmydata/mutable/retrieve.py | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
commit 92f43f856f4a8b36c207d1b190ed8699b5a4ecb4
Author: Brian Warner
Date: Tue Oct 4 12:48:08 2011 -0400
API of Retrieve._validate_block(), trying to remove reader.server
src/allmydata/mutable/retrieve.py | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
commit 572d5070761861a2190349d1ed8d85dbc25698a5
Author: Brian Warner
Date: Tue Oct 4 12:36:58 2011 -0400
API of Retrieve._mark_bad_share(), trying to remove reader.server
src/allmydata/mutable/retrieve.py | 21 +++++++++------------
1 files changed, 9 insertions(+), 12 deletions(-)
commit a793ff00c0de1e2eec7b46288fdf388c7a2bec89
Author: Brian Warner
Date: Tue Oct 4 12:06:13 2011 -0400
remove now-unused get_rref_for_serverid()
src/allmydata/mutable/servermap.py | 3 ---
1 files changed, 0 insertions(+), 3 deletions(-)
commit 1b9827cc9366bf90b93297fdd6832f2ad0480ce7
Author: Brian Warner
Date: Tue Oct 4 12:03:09 2011 -0400
Retrieve: stop adding .serverid attributes to readers
src/allmydata/mutable/retrieve.py | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
commit 5d4e9d491b19e49d2e443a1dfff2c672842c36ef
Author: Brian Warner
Date: Tue Oct 4 12:03:34 2011 -0400
return value of Retrieve(verify=True)
src/allmydata/mutable/checker.py | 11 ++++++-----
src/allmydata/mutable/retrieve.py | 3 +--
2 files changed, 7 insertions(+), 7 deletions(-)
commit e9ab7978c384e1f677cb7779dc449b1044face82
Author: Brian Warner
Date: Tue Oct 4 11:54:23 2011 -0400
Retrieve._bad_shares (but not return value, used by Verifier)
src/allmydata/mutable/retrieve.py | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
commit 2d91926de233ec5c881f30e36b4a30ad92ab42a9
Author: Brian Warner
Date: Tue Oct 4 11:51:23 2011 -0400
Publish: stop adding .serverid attributes to writers
src/allmydata/mutable/publish.py | 9 ++-------
1 files changed, 2 insertions(+), 7 deletions(-)
commit 47c7a0105dec7cbf4f7e0a3ce800bbb85b15df4a
Author: Brian Warner
Date: Tue Oct 4 11:56:33 2011 -0400
API of get_write_enabler()
src/allmydata/mutable/filenode.py | 7 ++++---
src/allmydata/mutable/publish.py | 4 ++--
src/allmydata/test/no_network.py | 3 +++
3 files changed, 9 insertions(+), 5 deletions(-)
commit 9196a5c6590fdbfd660325ea8358b345887d3db0
Author: Brian Warner
Date: Tue Oct 4 11:46:24 2011 -0400
API of get_(renewal|cancel)_secret()
src/allmydata/mutable/filenode.py | 14 ++++++++------
src/allmydata/mutable/publish.py | 8 ++++----
src/allmydata/mutable/servermap.py | 5 ++---
3 files changed, 14 insertions(+), 13 deletions(-)
commit de7c1552f8c163eff5b6d820b5fb3b21c1b47cb5
Author: Brian Warner
Date: Tue Oct 4 11:41:52 2011 -0400
API of CorruptShareError. Also comment out some related+unused test_web.py code
src/allmydata/mutable/common.py | 13 +++++--------
src/allmydata/mutable/retrieve.py | 10 +++++-----
src/allmydata/mutable/servermap.py | 8 +++-----
src/allmydata/test/common.py | 13 ++++++++-----
4 files changed, 21 insertions(+), 23 deletions(-)
commit 2c1c314046b620c16f1e66d030c150d768b7d01e
Author: Brian Warner
Date: Tue Oct 4 12:01:46 2011 -0400
API of ServerMap.mark_bad_share()
src/allmydata/mutable/publish.py | 2 +-
src/allmydata/mutable/retrieve.py | 6 +++---
src/allmydata/mutable/servermap.py | 6 ++----
src/allmydata/test/test_mutable.py | 3 +--
4 files changed, 7 insertions(+), 10 deletions(-)
commit 1bed349030779fd0c378ae4e821384f953c6f6ff
Author: Brian Warner
Date: Tue Oct 4 11:11:17 2011 -0400
API+name of ServerMap.shares_on_server() : only for tests, so debug_ prefix
src/allmydata/mutable/servermap.py | 7 ++-----
src/allmydata/test/test_mutable.py | 6 +++---
2 files changed, 5 insertions(+), 8 deletions(-)
commit 2d32e448677d6b818692e801045d4115b29abf21
Author: Brian Warner
Date: Tue Oct 4 11:07:10 2011 -0400
API of ServerMap.all_servers_for_version()
src/allmydata/mutable/servermap.py | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
commit 48f3204d1889c3e7179578125c4bdef515af3d6a
Author: Brian Warner
Date: Tue Oct 4 11:04:50 2011 -0400
internals of ServerMap methods that use make_versionmap(), remove temp copy
src/allmydata/mutable/servermap.py | 28 +++++++++----------------
1 files changed, 10 insertions(+), 18 deletions(-)
commit 5c3da77b6c777a145bd5ddfaa4db849dc9495548
Author: Brian Warner
Date: Tue Oct 4 11:01:28 2011 -0400
API of ServerMap.make_versionmap()
src/allmydata/mutable/checker.py | 4 ++--
src/allmydata/mutable/retrieve.py | 5 ++---
src/allmydata/mutable/servermap.py | 4 ++--
src/allmydata/test/test_mutable.py | 7 ++++---
4 files changed, 10 insertions(+), 10 deletions(-)
commit b6882ece49afb4c507d118af2db346fa329209dc
Author: Brian Warner
Date: Tue Oct 4 10:53:38 2011 -0400
make a copy of ServerMap.make_versionmap() (_make_versionmap2) for internal use
src/allmydata/mutable/servermap.py | 18 +++++++++++++-----
1 files changed, 13 insertions(+), 5 deletions(-)
commit 963f8e63faf32b950eb1b8103cd2ff16fe8f0151
Author: Brian Warner
Date: Tue Oct 4 00:45:58 2011 -0400
API of RetrieveStatus.add_problem()
src/allmydata/mutable/retrieve.py | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
commit 4976d29ffae565a048851601c29013bbae2976d8
Author: Brian Warner
Date: Tue Oct 4 00:45:05 2011 -0400
API of RetrieveStatus.add_fetch_timing()
src/allmydata/mutable/retrieve.py | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
commit d057d3bbba72663ee148a8b916bc2d52be2e3982
Author: Brian Warner
Date: Tue Oct 4 00:44:04 2011 -0400
API of Retrieve.notify_server_corruption()
src/allmydata/mutable/retrieve.py | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
commit 8a2a81e46671c860610e0e96d6add1a57551f22d
Author: Brian Warner
Date: Tue Oct 4 00:42:32 2011 -0400
remove unused _outstanding_queries
src/allmydata/mutable/retrieve.py | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
commit 56d12cc9968d03ccd53764455c671122c4f391d1
Author: Brian Warner
Date: Tue Oct 4 00:40:57 2011 -0400
change Retrieve.remaining_sharemap
src/allmydata/mutable/retrieve.py | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
commit 4f0b7af4821f43290bfc70f2b1fc30149ad81281
Author: Brian Warner
Date: Tue Oct 4 10:40:18 2011 -0400
accessor for PublishStatus._problems
src/allmydata/mutable/publish.py | 4 +++-
src/allmydata/web/status.py | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
commit 627087cf66d0b8cc519f4d551a967a7bd9b6a741
Author: Brian Warner
Date: Tue Oct 4 10:36:39 2011 -0400
accessor for RetrieveStatus._problems
src/allmydata/mutable/retrieve.py | 8 ++++++--
src/allmydata/web/status.py | 2 +-
2 files changed, 7 insertions(+), 3 deletions(-)
commit ca7dea81f03801b1c7353fc00ecba689268109cf
Author: Brian Warner
Date: Tue Oct 4 00:35:32 2011 -0400
add .server to "reader", so we can get at it later
src/allmydata/mutable/retrieve.py | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
commit 6ef516e24908ec195af084a7550d1921a5e983b0
Author: Brian Warner
Date: Tue Oct 4 00:32:32 2011 -0400
temporarily give Retrieve a _storage_broker, so it can map serverids to servers
src/allmydata/mutable/checker.py | 3 ++-
src/allmydata/mutable/filenode.py | 6 ++++--
src/allmydata/mutable/retrieve.py | 5 +++--
src/allmydata/test/test_mutable.py | 4 ++--
4 files changed, 11 insertions(+), 7 deletions(-)
commit afe08e4dd3f4ff9ff7e8a2a8d28b181e3625bcc9
Author: Brian Warner
Date: Tue Oct 4 00:21:51 2011 -0400
mutable/retrieve.py: s/peer/server/
src/allmydata/mutable/retrieve.py | 82 +++++++++++++-------------
src/allmydata/test/test_mutable.py | 6 +-
2 files changed, 44 insertions(+), 44 deletions(-)
commit 910afcb5d7f274880f68dd6cdb5b05f2bbc29adc
Author: Brian Warner
Date: Tue Oct 4 00:16:01 2011 -0400
web.status.PublishStatusPage: add comment, I think .problems isn't exercised
src/allmydata/web/status.py | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
commit 311466dd8c931bbba40d590ade867704282e7f1a
Author: Brian Warner
Date: Mon Oct 3 23:48:16 2011 -0400
API of PublishStatus.add_per_server_time()
src/allmydata/mutable/publish.py | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
commit 2df5faa1b6cbfbaded520d2320305a62fe961118
Author: Brian Warner
Date: Mon Oct 3 23:46:37 2011 -0400
more simplifications
src/allmydata/mutable/publish.py | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)
commit 6ac4544a3da385f2aad9392f906b90192f4f919a
Author: Brian Warner
Date: Mon Oct 3 23:44:08 2011 -0400
API of ServerMap.version_on_server()
src/allmydata/mutable/publish.py | 2 +-
src/allmydata/mutable/servermap.py | 4 ++--
src/allmydata/test/test_mutable.py | 5 ++---
3 files changed, 5 insertions(+), 6 deletions(-)
commit 3e187e322511072e4683329df6b2c6c733a66dba
Author: Brian Warner
Date: Tue Oct 4 00:16:32 2011 -0400
API of ServerMap.make_sharemap()
src/allmydata/mutable/servermap.py | 4 ++--
src/allmydata/test/test_mutable.py | 7 ++++---
src/allmydata/web/status.py | 4 ++--
3 files changed, 8 insertions(+), 7 deletions(-)
commit 318feed8437bdd8d4943c6569d38f7b54b6313cc
Author: Brian Warner
Date: Mon Oct 3 23:36:19 2011 -0400
small cleanups
src/allmydata/mutable/publish.py | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
commit bd459ed5714e1db5a7163935c54b7b0b56db8349
Author: Brian Warner
Date: Mon Oct 3 23:33:39 2011 -0400
API of ServerMap.add_new_share()
src/allmydata/mutable/publish.py | 4 ++--
src/allmydata/mutable/servermap.py | 6 ++----
2 files changed, 4 insertions(+), 6 deletions(-)
commit f2804fb6ed11d80088e0da8ed48e6c2922f2ffef
Author: Brian Warner
Date: Mon Oct 3 23:30:26 2011 -0400
API of ServerMap.get_bad_shares()
src/allmydata/mutable/publish.py | 3 +--
src/allmydata/mutable/servermap.py | 9 ++++-----
2 files changed, 5 insertions(+), 7 deletions(-)
commit 965074a47b3ce1431cb46d9a233840afcf9105f5
Author: Brian Warner
Date: Mon Oct 3 23:26:58 2011 -0400
more small cleanups
src/allmydata/mutable/publish.py | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
commit 38020da34f034f8889947dd3dc05e087ffff7106
Author: Brian Warner
Date: Mon Oct 3 23:18:47 2011 -0400
change Publish.bad_share_checkstrings
src/allmydata/mutable/publish.py | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
commit 5efebcbd2ee0c2f299ea86f7591d856c0f265304
Author: Brian Warner
Date: Mon Oct 3 23:16:31 2011 -0400
change internals of Publish.update_goal()
src/allmydata/mutable/publish.py | 8 +++-----
1 files changed, 3 insertions(+), 5 deletions(-)
commit e91b55ff4c2a69165b71f2c7b217ac319ff4c527
Author: Brian Warner
Date: Mon Oct 3 23:11:42 2011 -0400
get rid of Publish.connections
src/allmydata/mutable/publish.py | 27 +++++----------------------
1 files changed, 5 insertions(+), 22 deletions(-)
commit 64e9a53b3229ebe2f9ebf7ed502d539311d0e037
Author: Brian Warner
Date: Mon Oct 3 23:05:32 2011 -0400
change Publish.bad_servers
src/allmydata/mutable/publish.py | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
commit b85a934bef315a06bcfe00c9c12a3627fed2b918
Author: Brian Warner
Date: Mon Oct 3 23:03:07 2011 -0400
Publish.bad_servers: fix bug, this should be a set of serverids, not writers
src/allmydata/mutable/publish.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
commit 605ea15ec15ed671513819003ccd211cdb9761e0
Author: Brian Warner
Date: Mon Oct 3 23:00:21 2011 -0400
change .placed
src/allmydata/mutable/publish.py | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
commit f7aba37b1b345d5b6d5cb16e3b3f6f3c1afb658e
Author: Brian Warner
Date: Mon Oct 3 22:59:22 2011 -0400
temporarily stash IServer as .server on the "writer" object
src/allmydata/mutable/publish.py | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
commit f9b551d788e7db1f187fce5ab98ab5d5fe4e1c36
Author: Brian Warner
Date: Mon Oct 3 22:48:18 2011 -0400
change Publish.goal and API of log_goal() to use IServer, not serverid
src/allmydata/mutable/publish.py | 48 ++++++++++++++--------------
1 files changed, 24 insertions(+), 24 deletions(-)
commit 75f20616558e4900b8b1f685dd99aa838de6d452
Author: Brian Warner
Date: Mon Oct 3 15:27:02 2011 -0400
API of ServerMap.get_known_shares()
src/allmydata/mutable/publish.py | 16 ++++++++++------
src/allmydata/mutable/servermap.py | 7 ++-----
2 files changed, 12 insertions(+), 11 deletions(-)
commit 1c38c9d37bb08221b4418762234b1a62397b3b4b
Author: Brian Warner
Date: Mon Oct 3 15:20:29 2011 -0400
Publish.full_serverlist
src/allmydata/mutable/publish.py | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
commit b6cbd215a04b9cde31a7d92a97a7f048622b16f1
Author: Brian Warner
Date: Mon Oct 3 15:12:31 2011 -0400
API of ServerMap.all_servers()
src/allmydata/mutable/servermap.py | 19 ++++++-------------
1 files changed, 6 insertions(+), 13 deletions(-)
commit e63cd0315fae65357b1727ec6d5ff3c6e0d27c98
Author: Brian Warner
Date: Mon Oct 3 15:10:18 2011 -0400
remove ServerMap.connections, set_rref_for_serverid()
src/allmydata/mutable/servermap.py | 11 +----------
1 files changed, 1 insertions(+), 10 deletions(-)
commit 4df52db2f80eb12eefa5d57103c24893cde89553
Author: Brian Warner
Date: Mon Oct 3 15:04:06 2011 -0400
API of ServerMap.mark_server_reachable()
src/allmydata/mutable/servermap.py | 7 ++-----
1 files changed, 2 insertions(+), 5 deletions(-)
commit 69c715bde77944dc25181b3dbbeb042c816f9a1b
Author: Brian Warner
Date: Mon Oct 3 15:03:21 2011 -0400
API of ServerMap.mark_server_unreachable()
src/allmydata/mutable/servermap.py | 9 +++------
1 files changed, 3 insertions(+), 6 deletions(-)
commit 3d784d60eec1c508858e3a617e4411ffbcc3c1fa
Author: Brian Warner
Date: Mon Oct 3 15:02:03 2011 -0400
API of status.set_privkey_from()
src/allmydata/mutable/servermap.py | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
commit 544ed3ea29bed7e66da7fd29ca3f6f076f27a9e6
Author: Brian Warner
Date: Mon Oct 3 15:01:15 2011 -0400
API of status.add_per_server_time()
src/allmydata/mutable/servermap.py | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
commit fffe5008b6320bd1e04c3c68389a2bf2ee383fa8
Author: Brian Warner
Date: Mon Oct 3 14:59:02 2011 -0400
remove unused .versionmap
src/allmydata/mutable/servermap.py | 7 -------
1 files changed, 0 insertions(+), 7 deletions(-)
commit 2816562e090d2294179db3588dafcca18de1bc2b
Author: Brian Warner
Date: Mon Oct 3 14:57:51 2011 -0400
remove serverid from all log messages. Also one unused lambda.
src/allmydata/mutable/servermap.py | 30 +++++++++++++-------------
1 files changed, 15 insertions(+), 15 deletions(-)
commit 28fa6b1a2738fa98c1f1dbd3d0e01ae98912d11f
Author: Brian Warner
Date: Mon Oct 3 14:54:30 2011 -0400
removed unused _readers
src/allmydata/mutable/servermap.py | 3 ---
1 files changed, 0 insertions(+), 3 deletions(-)
commit a8e4ed3d645ab592d1add6a1e69b6d1ebfb77817
Author: Brian Warner
Date: Mon Oct 3 14:54:16 2011 -0400
remove unused _sharemap
src/allmydata/mutable/servermap.py | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
commit 3f072e55cf1d0700f9fffe23f8f3a475725df588
Author: Brian Warner
Date: Mon Oct 3 14:49:03 2011 -0400
_must_query
src/allmydata/mutable/servermap.py | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
commit c599a059b8df3f5785e4bf89fb6ecc6d8dcd708b
Author: Brian Warner
Date: Mon Oct 3 14:48:05 2011 -0400
_queries_outstanding
src/allmydata/mutable/servermap.py | 16 +++++++---------
1 files changed, 7 insertions(+), 9 deletions(-)
commit 7743759f98ac2c07926b2fdbd80bf52dfab33085
Author: Brian Warner
Date: Mon Oct 3 14:46:17 2011 -0400
_empty_servers
src/allmydata/mutable/servermap.py | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
commit 6bb1825916828a713a32cdf7f7411fa3ea2e1e5d
Author: Brian Warner
Date: Mon Oct 3 14:45:39 2011 -0400
_good_servers
src/allmydata/mutable/servermap.py | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
commit 1768fab1b51d8dd93ecabbaaabfadfa20cf6c3d4
Author: Brian Warner
Date: Mon Oct 3 14:44:59 2011 -0400
_bad_servers
src/allmydata/mutable/servermap.py | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
commit dccbaef30f0ba714c746bf6d4a1a803c36e17b65
Author: Brian Warner
Date: Mon Oct 3 14:41:54 2011 -0400
API of _try_to_set_pubkey()
src/allmydata/mutable/servermap.py | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
commit 0481ea70042ba3575f15eac7fd0780f8ece580cc
Author: Brian Warner
Date: Mon Oct 3 14:35:02 2011 -0400
API of notify_server_corruption()
src/allmydata/mutable/servermap.py | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
commit bea9cba18fb3b9c11bb22f18356a263ecec7351e
Author: Brian Warner
Date: Mon Oct 3 14:34:09 2011 -0400
API of _got_signature_one_share()
src/allmydata/mutable/servermap.py | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
commit 1520123583cf78650706e114b15bb5b0ac1f4a14
Author: Brian Warner
Date: Mon Oct 3 14:32:33 2011 -0400
API of _try_to_validate_privkey()
src/allmydata/mutable/servermap.py | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
commit 938852c9c8519c7a078f58a9b1f4dd8ec8b6715e
Author: Brian Warner
Date: Mon Oct 3 14:31:48 2011 -0400
API and internals of _add_lease_failed()
src/allmydata/mutable/servermap.py | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
commit 3843dba367e3c19e176a622ab853cb51d2472ddf
Author: Brian Warner
Date: Mon Oct 3 14:30:37 2011 -0400
API of _privkey_query_failed()
src/allmydata/mutable/servermap.py | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
commit 2219a710e1633cd57d0ca0786490de87b3e19ba7
Author: Brian Warner
Date: Mon Oct 3 14:29:43 2011 -0400
fix bug in call to _privkey_query_failed, unrelated to refactoring
src/allmydata/mutable/servermap.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
commit ae615bec7d0d1b269710b6902797b12f9592ad62
Author: Brian Warner
Date: Mon Oct 3 14:27:17 2011 -0400
API of _got_corrupt_share()
src/allmydata/mutable/servermap.py | 17 +++++++++--------
1 files changed, 9 insertions(+), 8 deletions(-)
commit cb51c95a6f4e077278157a77dab060c8c1ad7a81
Author: Brian Warner
Date: Mon Oct 3 14:23:16 2011 -0400
API of _got_results()
src/allmydata/mutable/servermap.py | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
commit bac9154fe0af18f226999a58ffc2362d8cf4b802
Author: Brian Warner
Date: Mon Oct 3 14:19:19 2011 -0400
API of _query_failed()
src/allmydata/mutable/servermap.py | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
commit fdc29a8ca95d4b5c503e5382b9e5d4d02141ba12
Author: Brian Warner
Date: Mon Oct 3 14:17:20 2011 -0400
API of _do_read()
src/allmydata/mutable/servermap.py | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
commit e7e9e338f28d004aa4d423d11c65f1e271ac7322
Author: Brian Warner
Date: Mon Oct 3 14:20:21 2011 -0400
API of _do_query()
src/allmydata/mutable/servermap.py | 15 +++++++--------
1 files changed, 7 insertions(+), 8 deletions(-)
commit 330625b9dac4cdbe72a11464a893065b9aeed453
Author: Brian Warner
Date: Mon Oct 3 14:43:05 2011 -0400
next step: first batch of updates to ServermapUpdater
updates:
most method-local variables in update()
API of _build_initial_querylist()
API of _send_initial_requests()
.full_serverlist
.extra_servers
src/allmydata/mutable/servermap.py | 39 ++++++++++++++------------
1 files changed, 21 insertions(+), 18 deletions(-)
commit 4aadc584fa7dcb2daa86b048c81dee0049ba26d9
Author: Brian Warner
Date: Mon Oct 3 15:07:00 2011 -0400
internal change: index _bad_shares with IServer
src/allmydata/mutable/servermap.py | 20 ++++++++++----------
1 files changed, 10 insertions(+), 10 deletions(-)
commit 16d4e6fa82a9907dbdc92094213387c6a4164e41
Author: Brian Warner
Date: Mon Oct 3 18:20:47 2011 +0100
internal change: index _known_shares with IServer instead of serverid
callers are unchanged
src/allmydata/mutable/servermap.py | 42 +++++++++++++++----------
1 files changed, 25 insertions(+), 17 deletions(-)
commit ceeb5f4938cc814a0c75d1b8f4018aed965c2176
Author: Brian Warner
Date: Mon Oct 3 18:11:43 2011 +0100
accessors and name cleanup for servermap.Servermap.last_update_mode/time
src/allmydata/mutable/filenode.py | 6 +++---
src/allmydata/mutable/publish.py | 4 ++--
src/allmydata/mutable/servermap.py | 17 +++++++++++------
3 files changed, 16 insertions(+), 11 deletions(-)
commit 8d3cbda82661c0a7e5c3d3b65cf7a5d5ab7e32c0
Author: Brian Warner
Date: Mon Oct 3 18:11:14 2011 +0100
accessors and name cleanup for servermap.Servermap.problems
src/allmydata/mutable/servermap.py | 21 +++++++++++++--------
src/allmydata/test/test_mutable.py | 6 +++---
2 files changed, 16 insertions(+), 11 deletions(-)
commit 348f57988f79389db0aab7672e6eaa9a6d8e3219
Author: Brian Warner
Date: Mon Oct 3 18:10:41 2011 +0100
accessors and name cleanup for servermap.Servermap.bad_shares
src/allmydata/mutable/publish.py | 2 +-
src/allmydata/mutable/servermap.py | 30 ++++++++++++++-----------
2 files changed, 18 insertions(+), 14 deletions(-)
commit 520c9368134673cdf76c653c5e1bb91c2ab5d51e
Author: Brian Warner
Date: Mon Oct 3 18:10:05 2011 +0100
accessors and name cleanup for servermap.Servermap.servermap .
src/allmydata/mutable/publish.py | 14 +++++----
src/allmydata/mutable/servermap.py | 38 ++++++++++++++-----------
2 files changed, 29 insertions(+), 23 deletions(-)
commit b8b8dc38287a91dbdf494426ac801d9381ce5841
Author: Brian Warner
Date: Mon Oct 3 18:08:02 2011 +0100
fix reachable_servers
src/allmydata/mutable/checker.py | 3 ++-
src/allmydata/mutable/publish.py | 4 +++-
src/allmydata/mutable/servermap.py | 12 ++++++++++--
3 files changed, 15 insertions(+), 4 deletions(-)
commit cb0cfd1adfefad357c187aaaf690c3df68b622bc
Author: Brian Warner
Date: Mon Oct 3 18:06:03 2011 +0100
fix Servermap.unreachable_servers
src/allmydata/mutable/servermap.py | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
commit 2d9ea79b94bd4db674d40386fda90825785ac495
Author: Brian Warner
Date: Mon Oct 3 18:03:48 2011 +0100
give ServerMap a StorageFarmBroker, temporary
this makes it possible for the ServerMap to accept bare serverids and still
build data structures with IServers
src/allmydata/mutable/checker.py | 2 +-
src/allmydata/mutable/filenode.py | 2 +-
src/allmydata/mutable/publish.py | 2 +-
src/allmydata/mutable/servermap.py | 5 +++--
src/allmydata/test/test_mutable.py | 8 ++++----
5 files changed, 10 insertions(+), 9 deletions(-)
commit 718d1aeff6fded893f65397806d22ece928b0dd4
Author: Brian Warner
Date: Mon Oct 3 13:43:30 2011 -0400
add StorageFarmBroker.get_server_for_id(), temporary helper
This will go away once we're passing IServers everywhere.
src/allmydata/storage_client.py | 2 ++
src/allmydata/test/no_network.py | 13 +++++++++++++
2 files changed, 15 insertions(+), 0 deletions(-)
commit ece20231d7fda0d503704842a4aa068dfbc2e54e
Author: Brian Warner
Date: Sun Oct 2 01:11:50 2011 +0100
add proper accessors for Servermap.connections, to make refactoring easier
src/allmydata/mutable/publish.py | 6 +++---
src/allmydata/mutable/retrieve.py | 10 +++++-----
src/allmydata/mutable/servermap.py | 17 +++++++++++------
3 files changed, 19 insertions(+), 14 deletions(-)
commit 3b943d6bf302ff702668081a612fc4fe2604cf9c
Author: Brian Warner
Date: Fri Sep 23 10:34:30 2011 -0700
mutable/servermap.py and neighbors: s/peer/server/
src/allmydata/mutable/checker.py | 22 +-
src/allmydata/mutable/publish.py | 204 +++++++-------
src/allmydata/mutable/servermap.py | 402 +++++++++++++-------------
src/allmydata/test/test_mutable.py | 18 +-
4 files changed, 323 insertions(+), 323 deletions(-)
IServer refactoring: pass IServer instances around, instead of peerids
refs #1363
This collapses 88 small incremental changes (each of which passes all tests)
into one big patch. The development process for the long path started with
adding some temporary scaffolding, changing one method at a time, then
removing the scaffolding. The individual pieces are as follows, in reverse
chronological order (the first patch is at the end of this comment):
commit 9bbe4174fd0d98a6cf47a8ef96e85d9ef34b2f9a
Author: Brian Warner
Date: Tue Oct 4 16:05:00 2011 -0400
immutable/downloader/status.py: correct comment
src/allmydata/immutable/downloader/status.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
commit 72146a7c7c91eac2f7c3ceb801eb7a1721376889
Author: Brian Warner
Date: Tue Oct 4 15:46:20 2011 -0400
remove temporary ServerMap._storage_broker
src/allmydata/mutable/checker.py | 2 +-
src/allmydata/mutable/filenode.py | 2 +-
src/allmydata/mutable/publish.py | 2 +-
src/allmydata/mutable/servermap.py | 5 ++---
src/allmydata/test/test_mutable.py | 8 ++++----
5 files changed, 9 insertions(+), 10 deletions(-)
commit d703096b41632c47d76414b12672e076a422ff5c
Author: Brian Warner
Date: Tue Oct 4 15:37:05 2011 -0400
remove temporary storage_broker.get_server_for_id()
src/allmydata/storage_client.py | 3 ---
src/allmydata/test/no_network.py | 13 -------------
2 files changed, 0 insertions(+), 16 deletions(-)
commit 620cc5d80882ef6f7decfd26af8a6c7c1ddf80d1
Author: Brian Warner
Date: Tue Oct 4 12:50:06 2011 -0400
API of Retrieve._try_to_validate_privkey(), trying to remove reader.server
src/allmydata/mutable/retrieve.py | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
commit 92f43f856f4a8b36c207d1b190ed8699b5a4ecb4
Author: Brian Warner
Date: Tue Oct 4 12:48:08 2011 -0400
API of Retrieve._validate_block(), trying to remove reader.server
src/allmydata/mutable/retrieve.py | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
commit 572d5070761861a2190349d1ed8d85dbc25698a5
Author: Brian Warner
Date: Tue Oct 4 12:36:58 2011 -0400
API of Retrieve._mark_bad_share(), trying to remove reader.server
src/allmydata/mutable/retrieve.py | 21 +++++++++------------
1 files changed, 9 insertions(+), 12 deletions(-)
commit a793ff00c0de1e2eec7b46288fdf388c7a2bec89
Author: Brian Warner
Date: Tue Oct 4 12:06:13 2011 -0400
remove now-unused get_rref_for_serverid()
src/allmydata/mutable/servermap.py | 3 ---
1 files changed, 0 insertions(+), 3 deletions(-)
commit 1b9827cc9366bf90b93297fdd6832f2ad0480ce7
Author: Brian Warner
Date: Tue Oct 4 12:03:09 2011 -0400
Retrieve: stop adding .serverid attributes to readers
src/allmydata/mutable/retrieve.py | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
commit 5d4e9d491b19e49d2e443a1dfff2c672842c36ef
Author: Brian Warner
Date: Tue Oct 4 12:03:34 2011 -0400
return value of Retrieve(verify=True)
src/allmydata/mutable/checker.py | 11 ++++++-----
src/allmydata/mutable/retrieve.py | 3 +--
2 files changed, 7 insertions(+), 7 deletions(-)
commit e9ab7978c384e1f677cb7779dc449b1044face82
Author: Brian Warner
Date: Tue Oct 4 11:54:23 2011 -0400
Retrieve._bad_shares (but not return value, used by Verifier)
src/allmydata/mutable/retrieve.py | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
commit 2d91926de233ec5c881f30e36b4a30ad92ab42a9
Author: Brian Warner
Date: Tue Oct 4 11:51:23 2011 -0400
Publish: stop adding .serverid attributes to writers
src/allmydata/mutable/publish.py | 9 ++-------
1 files changed, 2 insertions(+), 7 deletions(-)
commit 47c7a0105dec7cbf4f7e0a3ce800bbb85b15df4a
Author: Brian Warner
Date: Tue Oct 4 11:56:33 2011 -0400
API of get_write_enabler()
src/allmydata/mutable/filenode.py | 7 ++++---
src/allmydata/mutable/publish.py | 4 ++--
src/allmydata/test/no_network.py | 3 +++
3 files changed, 9 insertions(+), 5 deletions(-)
commit 9196a5c6590fdbfd660325ea8358b345887d3db0
Author: Brian Warner
Date: Tue Oct 4 11:46:24 2011 -0400
API of get_(renewal|cancel)_secret()
src/allmydata/mutable/filenode.py | 14 ++++++++------
src/allmydata/mutable/publish.py | 8 ++++----
src/allmydata/mutable/servermap.py | 5 ++---
3 files changed, 14 insertions(+), 13 deletions(-)
commit de7c1552f8c163eff5b6d820b5fb3b21c1b47cb5
Author: Brian Warner
Date: Tue Oct 4 11:41:52 2011 -0400
API of CorruptShareError. Also comment out some related+unused test_web.py code
src/allmydata/mutable/common.py | 13 +++++--------
src/allmydata/mutable/retrieve.py | 10 +++++-----
src/allmydata/mutable/servermap.py | 8 +++-----
src/allmydata/test/common.py | 13 ++++++++-----
4 files changed, 21 insertions(+), 23 deletions(-)
commit 2c1c314046b620c16f1e66d030c150d768b7d01e
Author: Brian Warner
Date: Tue Oct 4 12:01:46 2011 -0400
API of ServerMap.mark_bad_share()
src/allmydata/mutable/publish.py | 2 +-
src/allmydata/mutable/retrieve.py | 6 +++---
src/allmydata/mutable/servermap.py | 6 ++----
src/allmydata/test/test_mutable.py | 3 +--
4 files changed, 7 insertions(+), 10 deletions(-)
commit 1bed349030779fd0c378ae4e821384f953c6f6ff
Author: Brian Warner
Date: Tue Oct 4 11:11:17 2011 -0400
API+name of ServerMap.shares_on_server() : only for tests, so debug_ prefix
src/allmydata/mutable/servermap.py | 7 ++-----
src/allmydata/test/test_mutable.py | 6 +++---
2 files changed, 5 insertions(+), 8 deletions(-)
commit 2d32e448677d6b818692e801045d4115b29abf21
Author: Brian Warner
Date: Tue Oct 4 11:07:10 2011 -0400
API of ServerMap.all_servers_for_version()
src/allmydata/mutable/servermap.py | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
commit 48f3204d1889c3e7179578125c4bdef515af3d6a
Author: Brian Warner
Date: Tue Oct 4 11:04:50 2011 -0400
internals of ServerMap methods that use make_versionmap(), remove temp copy
src/allmydata/mutable/servermap.py | 28 +++++++++----------------
1 files changed, 10 insertions(+), 18 deletions(-)
commit 5c3da77b6c777a145bd5ddfaa4db849dc9495548
Author: Brian Warner
Date: Tue Oct 4 11:01:28 2011 -0400
API of ServerMap.make_versionmap()
src/allmydata/mutable/checker.py | 4 ++--
src/allmydata/mutable/retrieve.py | 5 ++---
src/allmydata/mutable/servermap.py | 4 ++--
src/allmydata/test/test_mutable.py | 7 ++++---
4 files changed, 10 insertions(+), 10 deletions(-)
commit b6882ece49afb4c507d118af2db346fa329209dc
Author: Brian Warner
Date: Tue Oct 4 10:53:38 2011 -0400
make a copy of ServerMap.make_versionmap() (_make_versionmap2) for internal use
src/allmydata/mutable/servermap.py | 18 +++++++++++++-----
1 files changed, 13 insertions(+), 5 deletions(-)
commit 963f8e63faf32b950eb1b8103cd2ff16fe8f0151
Author: Brian Warner
Date: Tue Oct 4 00:45:58 2011 -0400
API of RetrieveStatus.add_problem()
src/allmydata/mutable/retrieve.py | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
commit 4976d29ffae565a048851601c29013bbae2976d8
Author: Brian Warner
Date: Tue Oct 4 00:45:05 2011 -0400
API of RetrieveStatus.add_fetch_timing()
src/allmydata/mutable/retrieve.py | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
commit d057d3bbba72663ee148a8b916bc2d52be2e3982
Author: Brian Warner
Date: Tue Oct 4 00:44:04 2011 -0400
API of Retrieve.notify_server_corruption()
src/allmydata/mutable/retrieve.py | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
commit 8a2a81e46671c860610e0e96d6add1a57551f22d
Author: Brian Warner
Date: Tue Oct 4 00:42:32 2011 -0400
remove unused _outstanding_queries
src/allmydata/mutable/retrieve.py | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
commit 56d12cc9968d03ccd53764455c671122c4f391d1
Author: Brian Warner
Date: Tue Oct 4 00:40:57 2011 -0400
change Retrieve.remaining_sharemap
src/allmydata/mutable/retrieve.py | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
commit 4f0b7af4821f43290bfc70f2b1fc30149ad81281
Author: Brian Warner
Date: Tue Oct 4 10:40:18 2011 -0400
accessor for PublishStatus._problems
src/allmydata/mutable/publish.py | 4 +++-
src/allmydata/web/status.py | 2 +-
2 files changed, 4 insertions(+), 2 deletions(-)
commit 627087cf66d0b8cc519f4d551a967a7bd9b6a741
Author: Brian Warner
Date: Tue Oct 4 10:36:39 2011 -0400
accessor for RetrieveStatus._problems
src/allmydata/mutable/retrieve.py | 8 ++++++--
src/allmydata/web/status.py | 2 +-
2 files changed, 7 insertions(+), 3 deletions(-)
commit ca7dea81f03801b1c7353fc00ecba689268109cf
Author: Brian Warner
Date: Tue Oct 4 00:35:32 2011 -0400
add .server to "reader", so we can get at it later
src/allmydata/mutable/retrieve.py | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
commit 6ef516e24908ec195af084a7550d1921a5e983b0
Author: Brian Warner
Date: Tue Oct 4 00:32:32 2011 -0400
temporarily give Retrieve a _storage_broker, so it can map serverids to servers
src/allmydata/mutable/checker.py | 3 ++-
src/allmydata/mutable/filenode.py | 6 ++++--
src/allmydata/mutable/retrieve.py | 5 +++--
src/allmydata/test/test_mutable.py | 4 ++--
4 files changed, 11 insertions(+), 7 deletions(-)
commit afe08e4dd3f4ff9ff7e8a2a8d28b181e3625bcc9
Author: Brian Warner
Date: Tue Oct 4 00:21:51 2011 -0400
mutable/retrieve.py: s/peer/server/
src/allmydata/mutable/retrieve.py | 82 +++++++++++++-------------
src/allmydata/test/test_mutable.py | 6 +-
2 files changed, 44 insertions(+), 44 deletions(-)
commit 910afcb5d7f274880f68dd6cdb5b05f2bbc29adc
Author: Brian Warner
Date: Tue Oct 4 00:16:01 2011 -0400
web.status.PublishStatusPage: add comment, I think .problems isn't exercised
src/allmydata/web/status.py | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
commit 311466dd8c931bbba40d590ade867704282e7f1a
Author: Brian Warner
Date: Mon Oct 3 23:48:16 2011 -0400
API of PublishStatus.add_per_server_time()
src/allmydata/mutable/publish.py | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
commit 2df5faa1b6cbfbaded520d2320305a62fe961118
Author: Brian Warner
Date: Mon Oct 3 23:46:37 2011 -0400
more simplifications
src/allmydata/mutable/publish.py | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)
commit 6ac4544a3da385f2aad9392f906b90192f4f919a
Author: Brian Warner
Date: Mon Oct 3 23:44:08 2011 -0400
API of ServerMap.version_on_server()
src/allmydata/mutable/publish.py | 2 +-
src/allmydata/mutable/servermap.py | 4 ++--
src/allmydata/test/test_mutable.py | 5 ++---
3 files changed, 5 insertions(+), 6 deletions(-)
commit 3e187e322511072e4683329df6b2c6c733a66dba
Author: Brian Warner
Date: Tue Oct 4 00:16:32 2011 -0400
API of ServerMap.make_sharemap()
src/allmydata/mutable/servermap.py | 4 ++--
src/allmydata/test/test_mutable.py | 7 ++++---
src/allmydata/web/status.py | 4 ++--
3 files changed, 8 insertions(+), 7 deletions(-)
commit 318feed8437bdd8d4943c6569d38f7b54b6313cc
Author: Brian Warner
Date: Mon Oct 3 23:36:19 2011 -0400
small cleanups
src/allmydata/mutable/publish.py | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
commit bd459ed5714e1db5a7163935c54b7b0b56db8349
Author: Brian Warner
Date: Mon Oct 3 23:33:39 2011 -0400
API of ServerMap.add_new_share()
src/allmydata/mutable/publish.py | 4 ++--
src/allmydata/mutable/servermap.py | 6 ++----
2 files changed, 4 insertions(+), 6 deletions(-)
commit f2804fb6ed11d80088e0da8ed48e6c2922f2ffef
Author: Brian Warner
Date: Mon Oct 3 23:30:26 2011 -0400
API of ServerMap.get_bad_shares()
src/allmydata/mutable/publish.py | 3 +--
src/allmydata/mutable/servermap.py | 9 ++++-----
2 files changed, 5 insertions(+), 7 deletions(-)
commit 965074a47b3ce1431cb46d9a233840afcf9105f5
Author: Brian Warner
Date: Mon Oct 3 23:26:58 2011 -0400
more small cleanups
src/allmydata/mutable/publish.py | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
commit 38020da34f034f8889947dd3dc05e087ffff7106
Author: Brian Warner
Date: Mon Oct 3 23:18:47 2011 -0400
change Publish.bad_share_checkstrings
src/allmydata/mutable/publish.py | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
commit 5efebcbd2ee0c2f299ea86f7591d856c0f265304
Author: Brian Warner
Date: Mon Oct 3 23:16:31 2011 -0400
change internals of Publish.update_goal()
src/allmydata/mutable/publish.py | 8 +++-----
1 files changed, 3 insertions(+), 5 deletions(-)
commit e91b55ff4c2a69165b71f2c7b217ac319ff4c527
Author: Brian Warner
Date: Mon Oct 3 23:11:42 2011 -0400
get rid of Publish.connections
src/allmydata/mutable/publish.py | 27 +++++----------------------
1 files changed, 5 insertions(+), 22 deletions(-)
commit 64e9a53b3229ebe2f9ebf7ed502d539311d0e037
Author: Brian Warner
Date: Mon Oct 3 23:05:32 2011 -0400
change Publish.bad_servers
src/allmydata/mutable/publish.py | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
commit b85a934bef315a06bcfe00c9c12a3627fed2b918
Author: Brian Warner
Date: Mon Oct 3 23:03:07 2011 -0400
Publish.bad_servers: fix bug, this should be a set of serverids, not writers
src/allmydata/mutable/publish.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
commit 605ea15ec15ed671513819003ccd211cdb9761e0
Author: Brian Warner
Date: Mon Oct 3 23:00:21 2011 -0400
change .placed
src/allmydata/mutable/publish.py | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
commit f7aba37b1b345d5b6d5cb16e3b3f6f3c1afb658e
Author: Brian Warner
Date: Mon Oct 3 22:59:22 2011 -0400
temporarily stash IServer as .server on the "writer" object
src/allmydata/mutable/publish.py | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
commit f9b551d788e7db1f187fce5ab98ab5d5fe4e1c36
Author: Brian Warner
Date: Mon Oct 3 22:48:18 2011 -0400
change Publish.goal and API of log_goal() to use IServer, not serverid
src/allmydata/mutable/publish.py | 48 ++++++++++++++--------------
1 files changed, 24 insertions(+), 24 deletions(-)
commit 75f20616558e4900b8b1f685dd99aa838de6d452
Author: Brian Warner
Date: Mon Oct 3 15:27:02 2011 -0400
API of ServerMap.get_known_shares()
src/allmydata/mutable/publish.py | 16 ++++++++++------
src/allmydata/mutable/servermap.py | 7 ++-----
2 files changed, 12 insertions(+), 11 deletions(-)
commit 1c38c9d37bb08221b4418762234b1a62397b3b4b
Author: Brian Warner
Date: Mon Oct 3 15:20:29 2011 -0400
Publish.full_serverlist
src/allmydata/mutable/publish.py | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
commit b6cbd215a04b9cde31a7d92a97a7f048622b16f1
Author: Brian Warner
Date: Mon Oct 3 15:12:31 2011 -0400
API of ServerMap.all_servers()
src/allmydata/mutable/servermap.py | 19 ++++++-------------
1 files changed, 6 insertions(+), 13 deletions(-)
commit e63cd0315fae65357b1727ec6d5ff3c6e0d27c98
Author: Brian Warner
Date: Mon Oct 3 15:10:18 2011 -0400
remove ServerMap.connections, set_rref_for_serverid()
src/allmydata/mutable/servermap.py | 11 +----------
1 files changed, 1 insertions(+), 10 deletions(-)
commit 4df52db2f80eb12eefa5d57103c24893cde89553
Author: Brian Warner
Date: Mon Oct 3 15:04:06 2011 -0400
API of ServerMap.mark_server_reachable()
src/allmydata/mutable/servermap.py | 7 ++-----
1 files changed, 2 insertions(+), 5 deletions(-)
commit 69c715bde77944dc25181b3dbbeb042c816f9a1b
Author: Brian Warner
Date: Mon Oct 3 15:03:21 2011 -0400
API of ServerMap.mark_server_unreachable()
src/allmydata/mutable/servermap.py | 9 +++------
1 files changed, 3 insertions(+), 6 deletions(-)
commit 3d784d60eec1c508858e3a617e4411ffbcc3c1fa
Author: Brian Warner
Date: Mon Oct 3 15:02:03 2011 -0400
API of status.set_privkey_from()
src/allmydata/mutable/servermap.py | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
commit 544ed3ea29bed7e66da7fd29ca3f6f076f27a9e6
Author: Brian Warner
Date: Mon Oct 3 15:01:15 2011 -0400
API of status.add_per_server_time()
src/allmydata/mutable/servermap.py | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
commit fffe5008b6320bd1e04c3c68389a2bf2ee383fa8
Author: Brian Warner
Date: Mon Oct 3 14:59:02 2011 -0400
remove unused .versionmap
src/allmydata/mutable/servermap.py | 7 -------
1 files changed, 0 insertions(+), 7 deletions(-)
commit 2816562e090d2294179db3588dafcca18de1bc2b
Author: Brian Warner
Date: Mon Oct 3 14:57:51 2011 -0400
remove serverid from all log messages. Also one unused lambda.
src/allmydata/mutable/servermap.py | 30 +++++++++++++-------------
1 files changed, 15 insertions(+), 15 deletions(-)
commit 28fa6b1a2738fa98c1f1dbd3d0e01ae98912d11f
Author: Brian Warner
Date: Mon Oct 3 14:54:30 2011 -0400
removed unused _readers
src/allmydata/mutable/servermap.py | 3 ---
1 files changed, 0 insertions(+), 3 deletions(-)
commit a8e4ed3d645ab592d1add6a1e69b6d1ebfb77817
Author: Brian Warner
Date: Mon Oct 3 14:54:16 2011 -0400
remove unused _sharemap
src/allmydata/mutable/servermap.py | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
commit 3f072e55cf1d0700f9fffe23f8f3a475725df588
Author: Brian Warner
Date: Mon Oct 3 14:49:03 2011 -0400
_must_query
src/allmydata/mutable/servermap.py | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
commit c599a059b8df3f5785e4bf89fb6ecc6d8dcd708b
Author: Brian Warner
Date: Mon Oct 3 14:48:05 2011 -0400
_queries_outstanding
src/allmydata/mutable/servermap.py | 16 +++++++---------
1 files changed, 7 insertions(+), 9 deletions(-)
commit 7743759f98ac2c07926b2fdbd80bf52dfab33085
Author: Brian Warner
Date: Mon Oct 3 14:46:17 2011 -0400
_empty_servers
src/allmydata/mutable/servermap.py | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
commit 6bb1825916828a713a32cdf7f7411fa3ea2e1e5d
Author: Brian Warner
Date: Mon Oct 3 14:45:39 2011 -0400
_good_servers
src/allmydata/mutable/servermap.py | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
commit 1768fab1b51d8dd93ecabbaaabfadfa20cf6c3d4
Author: Brian Warner
Date: Mon Oct 3 14:44:59 2011 -0400
_bad_servers
src/allmydata/mutable/servermap.py | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
commit dccbaef30f0ba714c746bf6d4a1a803c36e17b65
Author: Brian Warner
Date: Mon Oct 3 14:41:54 2011 -0400
API of _try_to_set_pubkey()
src/allmydata/mutable/servermap.py | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
commit 0481ea70042ba3575f15eac7fd0780f8ece580cc
Author: Brian Warner
Date: Mon Oct 3 14:35:02 2011 -0400
API of notify_server_corruption()
src/allmydata/mutable/servermap.py | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
commit bea9cba18fb3b9c11bb22f18356a263ecec7351e
Author: Brian Warner
Date: Mon Oct 3 14:34:09 2011 -0400
API of _got_signature_one_share()
src/allmydata/mutable/servermap.py | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
commit 1520123583cf78650706e114b15bb5b0ac1f4a14
Author: Brian Warner
Date: Mon Oct 3 14:32:33 2011 -0400
API of _try_to_validate_privkey()
src/allmydata/mutable/servermap.py | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
commit 938852c9c8519c7a078f58a9b1f4dd8ec8b6715e
Author: Brian Warner
Date: Mon Oct 3 14:31:48 2011 -0400
API and internals of _add_lease_failed()
src/allmydata/mutable/servermap.py | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
commit 3843dba367e3c19e176a622ab853cb51d2472ddf
Author: Brian Warner
Date: Mon Oct 3 14:30:37 2011 -0400
API of _privkey_query_failed()
src/allmydata/mutable/servermap.py | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
commit 2219a710e1633cd57d0ca0786490de87b3e19ba7
Author: Brian Warner
Date: Mon Oct 3 14:29:43 2011 -0400
fix bug in call to _privkey_query_failed, unrelated to refactoring
src/allmydata/mutable/servermap.py | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
commit ae615bec7d0d1b269710b6902797b12f9592ad62
Author: Brian Warner
Date: Mon Oct 3 14:27:17 2011 -0400
API of _got_corrupt_share()
src/allmydata/mutable/servermap.py | 17 +++++++++--------
1 files changed, 9 insertions(+), 8 deletions(-)
commit cb51c95a6f4e077278157a77dab060c8c1ad7a81
Author: Brian Warner
Date: Mon Oct 3 14:23:16 2011 -0400
API of _got_results()
src/allmydata/mutable/servermap.py | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
commit bac9154fe0af18f226999a58ffc2362d8cf4b802
Author: Brian Warner
Date: Mon Oct 3 14:19:19 2011 -0400
API of _query_failed()
src/allmydata/mutable/servermap.py | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
commit fdc29a8ca95d4b5c503e5382b9e5d4d02141ba12
Author: Brian Warner
Date: Mon Oct 3 14:17:20 2011 -0400
API of _do_read()
src/allmydata/mutable/servermap.py | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
commit e7e9e338f28d004aa4d423d11c65f1e271ac7322
Author: Brian Warner
Date: Mon Oct 3 14:20:21 2011 -0400
API of _do_query()
src/allmydata/mutable/servermap.py | 15 +++++++--------
1 files changed, 7 insertions(+), 8 deletions(-)
commit 330625b9dac4cdbe72a11464a893065b9aeed453
Author: Brian Warner
Date: Mon Oct 3 14:43:05 2011 -0400
next step: first batch of updates to ServermapUpdater
updates:
most method-local variables in update()
API of _build_initial_querylist()
API of _send_initial_requests()
.full_serverlist
.extra_servers
src/allmydata/mutable/servermap.py | 39 ++++++++++++++------------
1 files changed, 21 insertions(+), 18 deletions(-)
commit 4aadc584fa7dcb2daa86b048c81dee0049ba26d9
Author: Brian Warner
Date: Mon Oct 3 15:07:00 2011 -0400
internal change: index _bad_shares with IServer
src/allmydata/mutable/servermap.py | 20 ++++++++++----------
1 files changed, 10 insertions(+), 10 deletions(-)
commit 16d4e6fa82a9907dbdc92094213387c6a4164e41
Author: Brian Warner
Date: Mon Oct 3 18:20:47 2011 +0100
internal change: index _known_shares with IServer instead of serverid
callers are unchanged
src/allmydata/mutable/servermap.py | 42 +++++++++++++++----------
1 files changed, 25 insertions(+), 17 deletions(-)
commit ceeb5f4938cc814a0c75d1b8f4018aed965c2176
Author: Brian Warner
Date: Mon Oct 3 18:11:43 2011 +0100
accessors and name cleanup for servermap.Servermap.last_update_mode/time
src/allmydata/mutable/filenode.py | 6 +++---
src/allmydata/mutable/publish.py | 4 ++--
src/allmydata/mutable/servermap.py | 17 +++++++++++------
3 files changed, 16 insertions(+), 11 deletions(-)
commit 8d3cbda82661c0a7e5c3d3b65cf7a5d5ab7e32c0
Author: Brian Warner
Date: Mon Oct 3 18:11:14 2011 +0100
accessors and name cleanup for servermap.Servermap.problems
src/allmydata/mutable/servermap.py | 21 +++++++++++++--------
src/allmydata/test/test_mutable.py | 6 +++---
2 files changed, 16 insertions(+), 11 deletions(-)
commit 348f57988f79389db0aab7672e6eaa9a6d8e3219
Author: Brian Warner
Date: Mon Oct 3 18:10:41 2011 +0100
accessors and name cleanup for servermap.Servermap.bad_shares
src/allmydata/mutable/publish.py | 2 +-
src/allmydata/mutable/servermap.py | 30 ++++++++++++++-----------
2 files changed, 18 insertions(+), 14 deletions(-)
commit 520c9368134673cdf76c653c5e1bb91c2ab5d51e
Author: Brian Warner
Date: Mon Oct 3 18:10:05 2011 +0100
accessors and name cleanup for servermap.Servermap.servermap .
src/allmydata/mutable/publish.py | 14 +++++----
src/allmydata/mutable/servermap.py | 38 ++++++++++++++-----------
2 files changed, 29 insertions(+), 23 deletions(-)
commit b8b8dc38287a91dbdf494426ac801d9381ce5841
Author: Brian Warner
Date: Mon Oct 3 18:08:02 2011 +0100
fix reachable_servers
src/allmydata/mutable/checker.py | 3 ++-
src/allmydata/mutable/publish.py | 4 +++-
src/allmydata/mutable/servermap.py | 12 ++++++++++--
3 files changed, 15 insertions(+), 4 deletions(-)
commit cb0cfd1adfefad357c187aaaf690c3df68b622bc
Author: Brian Warner
Date: Mon Oct 3 18:06:03 2011 +0100
fix Servermap.unreachable_servers
src/allmydata/mutable/servermap.py | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
commit 2d9ea79b94bd4db674d40386fda90825785ac495
Author: Brian Warner
Date: Mon Oct 3 18:03:48 2011 +0100
give ServerMap a StorageFarmBroker, temporary
this makes it possible for the ServerMap to accept bare serverids and still
build data structures with IServers
src/allmydata/mutable/checker.py | 2 +-
src/allmydata/mutable/filenode.py | 2 +-
src/allmydata/mutable/publish.py | 2 +-
src/allmydata/mutable/servermap.py | 5 +++--
src/allmydata/test/test_mutable.py | 8 ++++----
5 files changed, 10 insertions(+), 9 deletions(-)
commit 718d1aeff6fded893f65397806d22ece928b0dd4
Author: Brian Warner
Date: Mon Oct 3 13:43:30 2011 -0400
add StorageFarmBroker.get_server_for_id(), temporary helper
This will go away once we're passing IServers everywhere.
src/allmydata/storage_client.py | 2 ++
src/allmydata/test/no_network.py | 13 +++++++++++++
2 files changed, 15 insertions(+), 0 deletions(-)
commit ece20231d7fda0d503704842a4aa068dfbc2e54e
Author: Brian Warner
Date: Sun Oct 2 01:11:50 2011 +0100
add proper accessors for Servermap.connections, to make refactoring easier
src/allmydata/mutable/publish.py | 6 +++---
src/allmydata/mutable/retrieve.py | 10 +++++-----
src/allmydata/mutable/servermap.py | 17 +++++++++++------
3 files changed, 19 insertions(+), 14 deletions(-)
commit 3b943d6bf302ff702668081a612fc4fe2604cf9c
Author: Brian Warner
Date: Fri Sep 23 10:34:30 2011 -0700
mutable/servermap.py and neighbors: s/peer/server/
src/allmydata/mutable/checker.py | 22 +-
src/allmydata/mutable/publish.py | 204 +++++++-------
src/allmydata/mutable/servermap.py | 402 +++++++++++++-------------
src/allmydata/test/test_mutable.py | 18 +-
4 files changed, 323 insertions(+), 323 deletions(-)
]
[.gitignore: ignore generated test-coverage files too
Brian Warner **20120113065629
Ignore-this: 4411c7d620f5865b8c4dedef7e5a8c33
]
[merge relnotes, quickstart.rst from 1.9.1 release
Brian Warner **20120112232420
Ignore-this: 6b535bb1a3bd5ea87ee12cc6b17eeb5c
]
[.gitignore: also ignore tahoe-deps and .tgz, to fix 'make tarballs'
Brian Warner **20120112210925
Ignore-this: e8a7d942f123ee6bf4f2966ddc2742a3
Otherwise, the get-version-from-git code thinks the tree is dirty, and
creates SUMO tarballs with -dirty in the name.
]
[Makefile: fix 'make-version' to use git-or-darcs, not just darcs
Brian Warner **20120112210654
Ignore-this: ae32660458b5ab036ab98f0d1cf4e414
]
[_auto_deps.py: don't allow pycrypto 2.0.1. fixes #1631
david-sarah@jacaranda.org**20120110195758
Ignore-this: de409a745c93a78b095dc72edd13a15d
]
[MANIFEST.in: make git-based 'setup.py sdist' match darcs
Brian Warner **20120109234637
Ignore-this: 92bf7d679e9d5696994efe39c40ae216
Previously, tarballs generated from a git tree were lacking a lot of
important non-code files, like docs/
]
[restore .gitignore, stop .darcs-boringfile it
warner@lothar.com**20120109025243
Ignore-this: b37efcdab8662fe85660d68e3662b4b9
]
[remove setuptools_darcs.egg
warner@lothar.com**20120108225545
Ignore-this: 39711cf7a9856acd5a136038d58ca5ff
]
[fix bundled data under git, remove setuptools_darcs
Brian Warner **20120108221250
Ignore-this: ebfc0b267961523edd7e26c761b2554f
This uses explicitly enumerated packages= and package_data= arguments to
setup(), rather than relying upon the convenient (but darcs-specific)
functions which would determine these values by asking the revision-control
system.
Note that darcsver is still used, when building from a darcs tree.
]
[Resolve minor conflicts in node.py and test_client.py.
david-sarah@jacaranda.org**20120220185651
Ignore-this: f4909efe0157c44e96dc8ae9431c7040
]
[mutable: add comments about the tricky DeferredList structures in retrieve
Brian Warner **20120108221238
Ignore-this: da47db692fbdf11a3ce01a952a60d1a0
]
[add test-git-ignore.py, to port the 'clean' buildbot test to git
Brian Warner **20120108221232
Ignore-this: 442efa1eacc27b7ae2690645ed997894
add .gitignore to match .darcs-boringfile, mostly
]
[Use a private/drop_upload_dircap file instead of the [drop_upload]upload.dircap option in tahoe.cfg. Fail if the upload.dircap option is used, or options are missing. Also updates tests and docs. fixes #1593
david-sarah@jacaranda.org**20111120232426
Ignore-this: d4ea9154e98902c5de055b6de23c48f9
]
[docs: how_to_make_a_tahoe-lafs_release.rst add Google+ page to publicity list, change to cute unicode checkboxes
zooko@zooko.com**20111226151905
Ignore-this: c7c1e67761df48fa11c0dad1847c2d8
]
[doc: about.rst: use unicode emdash, use non-embedded URIs, add clarificaiton of when a file gets its mutable-or-immutable nature
zooko@zooko.com**20111206171908
Ignore-this: 61bc3f1582c68dcc9867da964fc9bb3a
embedded URIs, although documented here:
http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#embedded-uris
generate messages like this from rst2html --verbose:
quickstart.rst:3: (INFO/1) Duplicate explicit target name: "the tahoe-dev mailing list".
Also this patch prepends a "utf-8 BOM" to the beginning of the file.
]
[minor cleanup: remove trailing spaces in misc/
Brian Warner **20111218201841
Ignore-this: 69a8904c17d8fd930442d00e24b7b188
]
[Tests for ref #1592.
david-sarah@jacaranda.org**20111217043130
Ignore-this: a6713500ebe2d686581c6743b8a88f60
]
[test_web.py cleanup: use failUnlessIn/failIfIn in preference to 'in' operator.
david-sarah@jacaranda.org**20111217042710
Ignore-this: c351f4b1d162eca545ba657dc3c70c19
]
[Marcus Wanner's favicon patch. fixes #1592
david-sarah@jacaranda.org**20111217033201
Ignore-this: 3528c920379fe0d157441dafe9a7c5a8
]
[setup.py: stop putting pyutil.version_class/etc in _version.py
Brian Warner **20111205055049
Ignore-this: 926fa9a8a34a04f24ee6e006423e9c1
allmydata.__version__ can just be a string, it doesn't need to be an instance
of some fancy NormalizedVersion class. Everything inside Tahoe uses
str(__version__) anyways.
Also add .dev0 when a git tree is dirty.
Closes #1466
]
[setup.py: get version from git or darcs
Brian Warner **20111205044001
Ignore-this: 5a406b33000446d85edc722298391220
This replaces the setup.cfg aliases that run "darcsver" before each major
command with the new "update_version". update_version is defined in setup.py,
and tries to get a version string from either darcs or git (or leaves the
existing _version.py alone if neither VC metadata is available).
Also clean up a tiny typo in verlib.py that messed up syntax hilighting.
]
[docs/known_issues.rst: describe when the unauthorized access attack is known to be possible, and fix a link.
david-sarah@jacaranda.org**20111118002013
Ignore-this: d89b1f1040a0a7ee0bde893d23612049
]
[more tiny buildbot-testing whitespace changes
warner@lothar.com**20111118002041
Ignore-this: e816e2a5ab939e2f7a89ef12b8a157d8
]
[more tiny buildbot-testing whitespace changes
warner@lothar.com**20111118001828
Ignore-this: 57bb52cba83ea9a19728ba0a8ffadb69
]
[tiny change to exercise the buildbot hook
warner@lothar.com**20111118001511
Ignore-this: 7220b7790b39f19f9721d9e93b755030
]
[1585-webui.darcs.patch
Marcus Wanner **20111117214923
Ignore-this: 23cf2a06c545be5f821c071d652178ee
]
[Rewrite download-status-timeline visualizer ('viz') with d3.js
Brian Warner **20111101061821
Ignore-this: 6149b027bbae52c559ef5a8167240cab
* use d3.js v2.4.6
* add a "toggle misc events" button, to get hash/bitmap-checking details
* only draw data that's on screen, for speed
* add fragment-arg to fetch timeline data.json from somewhere else
]
[TAG allmydata-tahoe-1.9.0
warner@lothar.com**20111031052301
Ignore-this: cf598210dd1f314a1a121bf29a3d5918
]
[Resolve a conflict in docs/configuration.rst ([storage]readonly setting only applies to the disk backend).
david-sarah@jacaranda.org**20120220184452
Ignore-this: 87f6ae4ad1b6bb59173654314870ffb
]
[Strengthen description of unauthorized access attack in known_issues.rst.
david-sarah@jacaranda.org**20111118000030
Ignore-this: e2f68f621fe666b6201542623aa4d182
]
[remove remaining uses of nevow's "formless" module
Brian Warner **20111117225423
Ignore-this: a128dea91a1c63b3bbefa34729344d69
We're slowly moving away from Nevow, and marcusw's previous patch removed
uses of the formless CSS file, so now we can stop testing that nevow can find
that file, and remove the lingering unused "import formless" call.
]
[Remove duplicate tahoe_css links from manifest.xhtml and rename-form.xhtml
Brian Warner **20111116224225
Ignore-this: 12024fff17964607799928928b9aadf3
They were probably meant to be links to webform_css, but we aren't really
using Nevow's form-generation code anyways, so they can just be removed.
Thanks to 'marcusw' for the catch.
]
[iputil: handle openbsd5 (just like openbsd4)
Brian Warner **20111115220423
Ignore-this: 64b28bd2fd06eb5230ea41d91540dd05
Patch by 'sickness'. Closes #1584
]
[Makefile count-lines: let it work on OS-X (-l not --lines), add XXX
Brian Warner **20111109184227
Ignore-this: 204ace1dadc9ed27543c62965b4e6757
OS-X's simple-minded /usr/bin/wc doesn't understand --lines, but everyone
understands -l .
]
[setup.py: umask=022 for 'sdist', to avoid depending on environment
Brian Warner **20111109183632
Ignore-this: acd5db88ba8f1972d618b14f9e5b803c
The new tarball-building buildslave had a bogus umask set, causing the 1.9.0
tarballs to be non-other-user-readable (go-rwx), which is a hassle for
packaging. (The umask was correct on the old buildslave, but it was moved to
a new host shortly before the release). This should make sure tarballs are
correct despite the host's setting.
Note to others: processes run under twistd get umask=077 unless you arrange
otherwise.
]
[_auto_deps.py: blacklist PyCrypto 2.4.
david-sarah@jacaranda.org**20111105022457
Ignore-this: 876cb24bc71589e735f48bf449cad81e
]
[show-tool-versions: tolerate missing setuptools
Brian Warner **20111101080010
Ignore-this: 72d4e440565273992beb4f010cbca699
]
[show-tool-versions.py: condense output, hide file-not-found exceptions
Brian Warner **20111101074532
Ignore-this: a15381a76077ef46a74a4ac40c9ae956
]
[relnotes.txt: fix footnotes
Brian Warner **20111101071935
Ignore-this: 668c1bd8618e21beed9bc6b23f048189
]
[and configuration.rst
warner@lothar.com**20111029205157
Ignore-this: 48d95e17eb7c24bd43c137eb6c8a22a0
I'm doing these one-at-a-time because I'm also debugging buildbot
problems, and it's handy to trigger builds this way.
]
[Fix an unused import.
david-sarah@jacaranda.org**20120220175954
Ignore-this: fdc32865a5df13e3126c6925e2a8d00e
]
[test_storage: disable test_abort and test_disconnect for S3 backend.
david-sarah@jacaranda.org**20120220175914
Ignore-this: 67fdb8f73267d69aefa5f53cf67c4d1d
]
[Test that a truncated bucket listing triggers an incident. refs #1678
david-sarah@jacaranda.org**20120220175757
Ignore-this: f78d11c6803bb2b488460d05ced22ae8
]
[S3 backend: make truncated GET Bucket responses trigger an incident. Does not include tests. refs #1678
david-sarah@jacaranda.org**20120216184808
Ignore-this: 932e3ae0279cb335d5e337823db89ade
]
[Make S3 error tracebacks include the status code and response, and trigger an incident. fixes #1589
david-sarah@jacaranda.org**20120216041732
Ignore-this: 8a9be026e9db19ae9325760aee139687
]
[Correct some cases where it was incorrectly assumed that FilePath.basename always returns a str, rather than unicode.
david-sarah@jacaranda.org**20111120044556
Ignore-this: d0dc8bafe4820d7a155100962a98f3e0
]
[Changes to support desktop products (allowing to use less powerful credentials on the storage server).
david-sarah@jacaranda.org**20111103222422
Ignore-this: 9702bdf288f58bc9130dfe59c2b04e4b
]
[update NEWS for the 1.9.0 release
warner@lothar.com**20111031052252
Ignore-this: df9d16c29e54803869e7172c90f96972
]
[more docs updates
warner@lothar.com**20111031050831
Ignore-this: af8c82696b1b1c712238dd631342f8c7
]
[improve relnotes
warner@lothar.com**20111031033704
Ignore-this: 904c768314dfcb34581b9d585df8dc13
]
[update relnotes, rotate known_issues, for 1.9
Brian Warner **20111031032439
Ignore-this: e2f63298b7665fd7d7460e2ebc70699d
]
[add user-oriented notes to NEWS and mutable.rst about SDMF-vs-MDMF
Brian Warner **20111031030512
Ignore-this: 78e5518b8f8c5d529329f291537c9b07
]
[show-tool-versions.py: remove setuptools_trial, unused
Brian Warner **20111031004742
Ignore-this: c1dc9dd7138f0a59c633340520f6d783
]
[Makefile/upload-tarballs: remove bash-ism in shell conditional
Brian Warner **20111031004721
Ignore-this: 9ffe81a2cfafac5a53fc0503e0141c0d
The "[" command is defined to accept "=" as an is-equal test. Bash extends
this to accept "==" too, but normal /bin/sh does not. I think this command
was developed on a box where /bin/sh is bash, but on standard ubuntu boxes,
/bin/sh is a smaller+faster non-Bash shell, and this gave "[: 1: X:
unexpected operator" errors.
]
[update project-home URLs: /trac/tahoe/ was replaced by /trac/tahoe-lafs/
Brian Warner **20111030191428
Ignore-this: cb37679ad62845787064d94587caa48e
]
[quickstart.rst: remove trailing whitespace
Brian Warner **20111030174411
Ignore-this: 4c2738c023916de8cd3ad77bf9a9dcc7
]
[quickstart.rst: update the release URL in preparation for 1.9
Brian Warner **20111030173318
Ignore-this: f00af87789bbbdc4c520c486367cebd6
]
[and about.rst
warner@lothar.com**20111029195816
Ignore-this: 1cddc3c3cf57cf7f588a660ba0b065c1
]
[update README for HTTPS too
warner@lothar.com**20111029194240
Ignore-this: 37c5f34927ef5aaa46e111563fa5d14a
]
[small changes to test migrated trac and posthook
warner@lothar.com**20111029191807
Ignore-this: 8110a6c1b4ea318528e8023ce1f75fae
]
[more http->https changes
warner@lothar.com**20111029190905
Ignore-this: 9d0e6ed5f24858f7742f584da50cadc0
]
[tahoe-lafs.org is now HTTPS-always. Update most URLs.
warner@lothar.com**20111029183946
Ignore-this: 1d490ee1983b1ef30045a545250f18a8
]
[undo the effects of a patch I hadn't intended to commit, named "debugprint the values of blocks and hashes thereof; make the test data and the seg size small in order to make the debugprints easy to look at"
zooko@zooko.com**20111028220349
Ignore-this: 6390dd943f87d4340368b1e174cba6be
rolling back:
Thu Sep 29 23:46:28 MDT 2011 zooko@zooko.com
* debugprint the values of blocks and hashes thereof; make the test data and the seg size small in order to make the debugprints easy to look at
M ./src/allmydata/mutable/publish.py -1 +2
M ./src/allmydata/mutable/retrieve.py +3
M ./src/allmydata/test/test_mutable.py -2 +2
]
[docs/about.rst: correct the description of availability to take into account that shares may not be stored on distinct servers.
david-sarah@jacaranda.org**20111025132550
Ignore-this: 975fde31c73512c4c0f278182d576861
]
[debugprint the values of blocks and hashes thereof; make the test data and the seg size small in order to make the debugprints easy to look at
zooko@zooko.com**20110930054628
Ignore-this: bcfedc06aeedb090dfb02440f6e6c3bc
]
[S3 backend: support DevPay. Includes tests of config option, but interoperability with S3 has not been tested yet. refs #999
david-sarah@jacaranda.org**20111027215314
Ignore-this: 554870770ce7ce393d8cea195d365ab9
]
[docs/backends/S3.rst: document the requirement for the storage server to have the correct time to within 15 minutes. refs #999
david-sarah@jacaranda.org**20111025100827
Ignore-this: dee22e41bee85abe107c4a8457321ce6
]
[S3 backend: the s3.region option is unnecessary; it is only used for EC2 endpoints, and we only need an S3 one. Also simplify wording in S3.rst. refs #999
david-sarah@jacaranda.org**20111023235033
Ignore-this: b28b72e9047f996b7774e9279daadd9
]
[S3 backend: remove support for [storage]readonly option. refs #999, #1568
david-sarah@jacaranda.org**20111022045644
Ignore-this: 546eee72a9c708a7f101178fcc044261
]
[mock_s3.py: remove bucketname argument to MockS3Bucket constructor, since it is not needed. refs #999
david-sarah@jacaranda.org**20111022045341
Ignore-this: 872d91c8475e1fbbccb6fd580aad8c4e
]
[test_system.py: check that there is no error output from invocations of 'tahoe debug'. refs #999
david-sarah@jacaranda.org**20111021044102
Ignore-this: 8dfb3a668bfebdcbf7f3f295d345fb98
]
[scripts/debug.py: in catalog-shares, gracefully handle the case where a share has no leases (for example because it is an S3 share). refs #999
david-sarah@jacaranda.org**20111021034138
Ignore-this: 28ce846977095e9bfcb55364e2388e70
]
[test_system.py: fix SystemWithS3Backend.test_mutable by only requiring the line specifying which nodeid the lease secrets are for when the node has a disk backend. refs #999
david-sarah@jacaranda.org**20111021032106
Ignore-this: dc5e6e6f9f7d5a898408f2070afca4a2
]
[test_system.py: ensure that subclasses of SystemTest use different test directories. refs #999
david-sarah@jacaranda.org**20111021014630
Ignore-this: 938ab8addc92dcd14fccc179ae095feb
]
[test_system.py: make checks in _test_runner more picky about field names to avoid accidental suffix matches. refs #999
david-sarah@jacaranda.org**20111021014527
Ignore-this: f46c364efd86b0b40f6448bc0a95c495
]
[test_system.py: rename ServerTestWith*Backend to ServerWith*Backend, for consistency with tst_storage.py. refs #999
david-sarah@jacaranda.org**20111021011001
Ignore-this: 47435b4ef02d4267d528b3a99bb2ec07
]
[test_system.py: fix a typo. refs #999
david-sarah@jacaranda.org**20111021010846
Ignore-this: f8daf272b0266d6df6a13f88f2dd67
]
[test_system.py: enable system tests to run against S3 backend as well as disk backend. refs #999
david-sarah@jacaranda.org**20111021001632
Ignore-this: bbe5c7479a05db40165800211c68ce54
]
[Add a '[storage]backend = mock_s3' option for use by tests. Move mock_s3.py to src/allmydataa/storage/backends/s3 since it is now imported by non-test code. refs #999
david-sarah@jacaranda.org**20111021001518
Ignore-this: 8e0643a81a55b319b0f757f7da9acfd6
]
[mutable/retrieve: don't write() after we've been pauseProducer'ed
Brian Warner **20111017002400
Ignore-this: 417880ec53285c4887f8080e1ddeedc8
This fixes a test failure found against current Twisted trunk in
test_mutable.Filenode.test_retrieve_producer_mdmf (when it uses
PausingAndStoppingConsumer). There must be some sort of race: I could
make it fail against Twisted-11.0 if I just increased the 0.5s delay in
test_download.PausingAndStoppingConsumer to about 0.6s, and could make
Twisted-trunk pass by reducing it to about 0.3s .
I fixed the test (as opposed to the bug) by replacing the delay with a
simple reliable eventually(), and adding extra asserts to fail the test
if the consumer's write() method is called while the producer is
supposed to be paused
The bug itself was that mutable.retrieve.Retrieve wasn't checking the
"stopped" flag after resuming from a pause, and thus delivered one
segment to a consumer that wasn't expecting it. I split out
stopped-flag-checking to separate function, which is now called
immediately after _check_for_paused(). I also cleaned up some Deferred
usage and whitespace.
]
[remove interpreter shbang lines from non-executables
Brian Warner **20111014172301
Ignore-this: a1ad931ed2e4379fed9bf480382ad801
thanks to Greg Troxel for the catch
]
[TAG allmydata-tahoe-1.9.0b1
warner@lothar.com**20111014055532
Ignore-this: f00238ed3d8d1f5e15b0262c4373a3c3
]
[NEWS: mention --format, bring up-to-date
warner@lothar.com**20111014055500
Ignore-this: 6c70a87cd8894cee954fd2deeada61f6
]
[CLI: don't deprecate --mutable, small docs fixes. refs #1561
Brian Warner **20111014040002
Ignore-this: 6133c130e7060fc4240194bc08ed9c9d
Also don't accept 'tahoe mkdir --format=chk'.
]
[add --format= to 'tahoe put'/'mkdir', remove --mutable-type. Closes #1561
Brian Warner **20111014031500
Ignore-this: ac38ac429847942e6383e7374bf0e1bf
]
[web/filenode.py: rely on Request.notifyFinish. Closes #1366.
Brian Warner **20111013201219
Ignore-this: cf7677bf15cb8e469ec16c3372fdfa35
This is safe now that tahoe depends upon Twisted>=10.1, since notifyFinish
first appeared in Twisted-9.0
]
[docs: fix several imprecise or inaccurate values in performance.rst
zooko@zooko.com**20110508124228
Ignore-this: f1ecc5cb32eebec9760c8fc437799eb4
add cpu values for each operation
sort the list of values into the same order in each operation
refs #1398
]
[oops, missed a test failure
Brian Warner **20111013163713
Ignore-this: d8cb188d8dd664e335f19b9fa342da4a
]
[misc mutable-type fixes:
warner@lothar.com**20111013163229
Ignore-this: ab62dc2f27aa1f793e7bd02e360ee471
* fix tahoe.cfg control of default mutable type
* tolerate arbitrary case in [client]mutable.format value
* small docs improvements
* use get_mutable_type() as a format-is-mutable predicate
* tighten up error message
]
[webapi: use all-caps "SDMF"/"MDMF" acronyms in t=json response
warner@lothar.com**20111013163143
Ignore-this: 945eaa5ce7f108793b0bb6cae0239965
docs: upcase examples of t=json output and format= input
]
[webapi.rst: fix whitespace (detabify) t=json examples
warner@lothar.com**20111013163056
Ignore-this: c095687413876507c5cc46864459c054
]
[webapi: handle format=, remove mutable-type=
warner@lothar.com**20111013162951
Ignore-this: de7d9c5516385d002dbc21f31c23204c
* fix CLI commands (put, mkdir) to send format=, not mutable-type=
* fix tests
* test_cli: fix tests that observe t=json output, don't ignore failures in
'tahoe put'
* fix handling of version= to make it easier to use the default
* interpret ?mutable=true&format=MDMF as MDMF, not SDMF
]
[docs/frontends/webapi.rst: document the format argument
kevan@isnotajoke.com**20111010025529
Ignore-this: 2a7b8d711dc369bd9a23e2853824cfb0
]
[Tests for ref #1547
david-sarah@jacaranda.org**20111002035316
Ignore-this: 933f2b6ff148523f40475fe2d2578170
]
[Change the file upload forms on directory and welcome pages to use a 3-way radio button to select immutable, SDMF, or MDMF. Add '(experimental)' to the label for creating an MDMF directory. Also improve the spacing of form elements. refs #1547
david-sarah@jacaranda.org**20111002034503
Ignore-this: 46a8b966fddc8ccaa7e70bffbd68b52f
]
[test_web.py: minor cleanups, mainly to make the first argument to shouldFail tests consistent
david-sarah@jacaranda.org**20111002040332
Ignore-this: 234ba793f78f112717e02755e1fa81b5
]
[Tests for ref #1552
david-sarah@jacaranda.org**20111002040036
Ignore-this: abdc5c39d90ea7f314834fff7ecd6784
]
[test_storage.py: the part of test_remove that checks non-existence of the share directory after deleting a share, is only applicable to the disk backend; but, we can check that the shareset has no overhead at that point. refs #999
david-sarah@jacaranda.org**20111020173349
Ignore-this: 8c7b93afeabf090d2615db81a4556fd6
]
[test_storage.py: reenable MutableServer.test_container_size for the S3 backend. refs #999
david-sarah@jacaranda.org**20111020115355
Ignore-this: 33a2e41ec2d3b917dc5be897ce50c152
]
[Disk backend: make sure that the size limit is checked before writing. Also, the size limit is on the data length, not the container size. refs #999
david-sarah@jacaranda.org**20111020114919
Ignore-this: 32a278af8e2a6464e193b635c7f17ff4
]
[S3 backend: the mutable size limit should be on the data length, not the container size. Also simplify by removing _check_size_limit. refs #999
david-sarah@jacaranda.org**20111020114529
Ignore-this: ef64c7f68969ff550f81af2f17e5b14a
]
[S3 backend: new_length argument to MutableS3Share.writev should only be able to truncate the share (after applying writes), not extend it. refs #999
david-sarah@jacaranda.org**20111020114356
Ignore-this: 3da64b01af2ea86aa1b73d9e3af65024
]
[S3 backend: make precondition failures show more information. refs #999
david-sarah@jacaranda.org**20111020111611
Ignore-this: bb2fc7ad6962e2a4f394eaf5cde1795d
]
[S3 backend: make sure that the container size limit is checked before writing. refs #999
david-sarah@jacaranda.org**20111020111519
Ignore-this: add18e2273a84d75bd491a13c6f6451a
]
[test_storage.py: reduce duplicated code by factoring 'create' methods into CreateS3Backend and CreateDiskBackend classes. refs #999
david-sarah@jacaranda.org**20111020111350
Ignore-this: 1362efb0293bc7e62fafd9f1227c47d9
]
[S3 backend: finish implementation of mutable shares. refs #999
david-sarah@jacaranda.org**20111020030522
Ignore-this: 53bf3fdc4d243069880b39295601af06
]
[test_storage.py: move the test_container_size test to MutableServerWithDiskBackend for now, because it tries to create a very large container which will wedge your machine. refs #999
david-sarah@jacaranda.org**20111020030447
Ignore-this: 62f2b5df800bf1ab631853e8ad4a4267
]
[Disk backend: fix incorrect arguments in a call to create_mutable_disk_share. refs #999
david-sarah@jacaranda.org**20111020030301
Ignore-this: ec4496f4a0cbb32eb5f9d6d32cc0221d
]
[storage/backends/disk/mutable.py: correct a typo. refs #999
david-sarah@jacaranda.org**20111020012427
Ignore-this: af896e2496c15e06d1eec6c0af49b695
]
[Enable mutable tests for S3 backend (they all fail, as expected). refs #999
david-sarah@jacaranda.org**20111019061735
Ignore-this: f058dba13bd4f1d4273739d2823605f
]
[S3 backend: remove max_space option. refs #999
david-sarah@jacaranda.org**20111018224057
Ignore-this: 6fc56d5ea43dae4ac9604a7cf15e7ce6
]
[test_storage.py, test_crawler.py: change 'bucket' terminology to 'shareset' where appropriate. refs #999
david-sarah@jacaranda.org**20111018183242
Ignore-this: b8cf782836d1558fc99ff13fa08b2b9f
]
[Add some __repr__ methods. refs #999
david-sarah@jacaranda.org**20111018064409
Ignore-this: 9b901ee8aaaa9f9895f6a3b4e5f41a21
]
[Fix race conditions in crawler tests. (storage.LeaseCrawler.test_unpredictable_future may still be racy.) refs #999
david-sarah@jacaranda.org**20111018064303
Ignore-this: 58b2791250d14f7e8a6284190d7872e8
]
[Allow crawlers and storage servers to use a deterministic clock, for testing. We do not yet take advantage of this in tests. refs #999
david-sarah@jacaranda.org**20111018063926
Ignore-this: 171bf7275a978a93108b0835d06834ea
]
[Change IShareSet.get_shares[_synchronous] to return a pair (list of share objects, set of corrupt shnums). This is necessary to allow crawlers to record but skip over corrupt shares. This patch also changes the behaviour of storage servers to ignore corrupt shares on read, which may or may not be what we want. Note that the S3 backend does not yet report corrupt shares. refs #999
david-sarah@jacaranda.org**20111018063423
Ignore-this: 35abee65334aa3a92471266f5789f452
]
[test_storage.py: cleanup to style of test_limited_history to match other tests. refs #999
david-sarah@jacaranda.org**20111016044311
Ignore-this: 3024764ffb419917eeeb3ecd554fb421
]
[Change accesses of ._sharehomedir on a disk shareset to _get_sharedir(). refs #999
david-sarah@jacaranda.org**20111016044229
Ignore-this: 5b2b9e11f56f0af0588c69ca930f60fd
]
[Disk backend: make sure that disk shares with a storageindex of None (as sometimes created by test code) can be printed using __repr__. refs #999
david-sarah@jacaranda.org**20111016035131
Ignore-this: a811b53c20fdde5ad60471c5e4961a24
]
[scripts/debug.py: fix stale code in describe_share that had not been updated for changes in share interfaces. refs #999
david-sarah@jacaranda.org**20111016034913
Ignore-this: 7f2469392b9e6fc64c354ce5a5568a68
]
[test_storage.py: fix a bug in _backdate_leases (it was returning too early). refs #999
david-sarah@jacaranda.org**20111016014038
Ignore-this: 658cf2e2c0dc87032988f1d4db62f267
]
[Undo partial asyncification of crawlers, and enable crawlers only for the disk backend. refs #999
david-sarah@jacaranda.org**20111014061902
Ignore-this: ce7303610878b1b051cf54604796bdde
]
[test_storage.py: fix two bugs in test_no_st_blocks -- the _cleanup function was being called too early, and we needed to treat directories as using no space in order for the configured-sharebytes == configured-diskbytes check to be correct. refs #999
david-sarah@jacaranda.org**20111014025840
Ignore-this: a20434e28eda165bed2021f0dafa676c
]
[test_storage.py: print more info when checks fail. refs #999
david-sarah@jacaranda.org**20111013234159
Ignore-this: 2989f30c24362ee6a80a7f8f3d5aad9
]
[test_storage.py: remove some redundant coercions to bool. refs #999
david-sarah@jacaranda.org**20111013233520
Ignore-this: 3fa9baaf7e41831a24b8cfa0ef5ec5e4
]
[test_storage: in test_no_st_blocks, print the rec 'dict' if checking one of its fields fails. refs #999
david-sarah@jacaranda.org**20111013232802
Ignore-this: cf18a119d80f11b1ba8681c4285c0198
]
[test_storage: fix some typos introduced when asyncifying test_immutable_leases. refs #999
david-sarah@jacaranda.org**20111013232618
Ignore-this: 28a5e1377d7198191d5771e09826af5b
]
[test_storage: rename the two test_leases methods to ServerTest.test_immutable_leases and MutableServer.test_mutable_leases. refs #999
david-sarah@jacaranda.org**20111013232538
Ignore-this: 7a3ccfd237db7a3c5053fe90c3bed1f3
]
[test_storage.py: fix a typo (d vs d2) in test_remove_incoming. refs #999
david-sarah@jacaranda.org**20111013222822
Ignore-this: 71ad69489698865748cd32bc2c8b2fc1
]
[docs/backends/S3.rst: note that storage servers should use different buckets. refs #999
david-sarah@jacaranda.org**20111013050647
Ignore-this: fec8d3bf114bbcf20165a5850aa25aac
]
[S3 backend: keep track of incoming shares, so that the storage server can avoid creating BucketWriters for shnums that have an incoming share. refs #999
david-sarah@jacaranda.org**20111013035040
Ignore-this: f1c33357553d68748f970c0c9e19d538
]
[test_storage.py: test_read_old_share and test_write_and_read_share should only expect to be able to read input share data. refs #999
david-sarah@jacaranda.org**20111013032825
Ignore-this: bec4a26f13f105cc84261f2e1b028302
]
[misc/check-interfaces.py: print a warning if a .pyc or .pyo file exists without a corresponding .py file.
david-sarah@jacaranda.org**20111012233609
Ignore-this: 35f04939360c6d3b1e8e0c2e9e712d80
]
[storage/backends/base.py: allow readv to work for both mutable and immutable shares. refs #999
david-sarah@jacaranda.org**20111012232802
Ignore-this: a266704981739e7c1217f352aee153fe
]
[S3 backend: correct list_objects to list_all_objects in IS3Bucket. refs #999
david-sarah@jacaranda.org**20111012232713
Ignore-this: 7f9dc7946e9866f71e16f3a595f0218e
]
[Null backend: make NullShareSet inherit from ShareSet, which should implement readv correctly. Remove its implementation of testv_and_readv_and_writev since the one from ShareSet should work (if it doesn't that would be a separate bug). refs #999
david-sarah@jacaranda.org**20111012232600
Ignore-this: 404757cc6f7e29c2b927258af31d55ce
]
[Remove test_backends.py, since all its tests are now redundant with tests in test_storage.py or test_client.py. refs #999
david-sarah@jacaranda.org**20111012232316
Ignore-this: f601a8165058773075ce80d96586b0d9
]
[test_storage.py: add test_write_and_read_share and test_read_old_share originally from test_backends.py. refs #999
david-sarah@jacaranda.org**20111012232124
Ignore-this: 805cd42094d3948ffdf957f44e0d146d
]
[test_download.py: fix and reenable Corruption.test_each_byte. Add a comment noting that catalog_detection = True has bitrotted. refs #999
david-sarah@jacaranda.org**20111012041219
Ignore-this: b9fa9ce7406811cd5a9d4a49666b1ab0
]
[no_network.py: fix delete_all_shares. refs #999
david-sarah@jacaranda.org**20111012033458
Ignore-this: bfe9225562454f153a921277b43ac848
]
[S3 backend: fix corruption advisories and listing of shares for mock S3 bucket. refs #999
david-sarah@jacaranda.org**20111012033443
Ignore-this: 9d655501062888be6ee391e426c90a13
]
[test_storage.py: asyncify some more tests, and fix create methods. refs #999
david-sarah@jacaranda.org**20111012025739
Ignore-this: 1574d8175917665f44d278d13f815bb9
]
[test_storage.py: add a test that we can create a share, exercising the backend's get_share and get_shares methods. This may explicate particular kinds of backend failure better than the existing tests. refs #999
david-sarah@jacaranda.org**20111012025514
Ignore-this: f52983e4f3d96ea26ef25856d4cc92ce
]
[test_storage.py: Move test_seek to its own class, since it is independent of the backend. Also move test_reserved_space to ServerWithDiskBackend, since reserved_space is specific to that backend. refs #999
david-sarah@jacaranda.org**20111012025149
Ignore-this: 281de8befe51e24cd638886fb5063cd2
]
[util/deferredutil.py: remove unneeded utility functions. refs #999
david-sarah@jacaranda.org**20111012024440
Ignore-this: 17380afd9079442785d0cb78876c7fd5
]
[Move configuration of each backend into the backend itself. refs #999
david-sarah@jacaranda.org**20111012014004
Ignore-this: c337c43e4c4a05617de62f4acf7119d0
]
[test_storage.py: fix test failures in MDMFProxies. refs #999
david-sarah@jacaranda.org**20111012000848
Ignore-this: 798f2a4e960ee444e401a10748afeb08
]
[test_storage.py: cosmetics. refs #999
david-sarah@jacaranda.org**20111012000442
Ignore-this: d3514fa8d69f38d3b45204e2224152d5
]
[storage/backends/disk/disk_backend.py: trivial fix to a comment. #refs 999
david-sarah@jacaranda.org**20111011165704
Ignore-this: b9031b01ef643cb973a41af277d941c0
]
[check-miscaptures.py: report the number of files that were not analysed due to syntax errors (and don't count them in the number of suspicious captures). refs #1555
david-sarah@jacaranda.org**20111009050301
Ignore-this: 62ee03f4b8a96c292e75c097ad87d52e
]
[check-miscaptures.py: handle corner cases around default arguments correctly. Also make a minor optimization when there are no assigned variables to consider. refs #1555
david-sarah@jacaranda.org**20111009045023
Ignore-this: f49ece515620081da1d745ae6da19d21
]
[check-miscaptures.py: Python doesn't really have declarations; report the topmost assignment. refs #1555
david-sarah@jacaranda.org**20111009044800
Ignore-this: 4905c9dfe7726f433333e216a6760a4b
]
[check-miscaptures.py: handle destructuring function arguments correctly. refs #1555
david-sarah@jacaranda.org**20111009044710
Ignore-this: f9de7d95e94446507a206c88d3f98a23
]
[check-miscaptures.py: check while loops and list comprehensions as well as for loops. Also fix a pyflakes warning. refs #1555
david-sarah@jacaranda.org**20111009044022
Ignore-this: 6526e4e315ca6461b1fbc2da5568e444
]
[Fix pyflakes warnings in misc/ directories other than misc/build_helpers. refs #1557
david-sarah@jacaranda.org**20111007033031
Ignore-this: 7daf5862469732d8cabc355266622b74
]
[Makefile: include misc/ directories other than misc/build_helpers in SOURCES. refs #1557
david-sarah@jacaranda.org**20111007032958
Ignore-this: 31376ec01401df7972e83341dc65aa05
]
[util/happinessutil.py: suppress a warning from check-miscaptures. (It is not a bug because the capturing function is only used by a 'map' in the same iteration.) refs #1556
david-sarah@jacaranda.org**20111009052106
Ignore-this: 16a62844bae083800d6b6a7334abc9bc
]
[misc/coding_tools/make-canary-files.py: fix a suspicious capture reported by check-miscaptures (although it happens not to be a bug because the callback will be processed synchronously). refs #1556
david-sarah@jacaranda.org**20111009050531
Ignore-this: 2d1a696955a4c1f7d9c649d4ecefd7de
]
[Fix two pyflakes warnings about unused imports. refs #999
david-sarah@jacaranda.org**20111011051745
Ignore-this: 23c17f8eb36a30f4e3b662a778bc4bb7
]
[test_storage.py: fix asyncification of three tests in MDMFProxies. refs #999
david-sarah@jacaranda.org**20111011051319
Ignore-this: a746cc2ed1f4fbcf95bad7624a0544e9
]
[test_storage.py: fix a trivial bug in MDMFProxies.test_write. refs #999
david-sarah@jacaranda.org**20111011045645
Ignore-this: 943c6da82eca7b2d247cfb7d75afc9b7
]
[test_storage.py: fix a typo in test_null_backend. refs #999
david-sarah@jacaranda.org**20111011045133
Ignore-this: ddf00d1d65182d520904168827c792c4
]
[test_storage.py: fix a bug introduced by asyncification of test_allocate. refs #999
david-sarah@jacaranda.org**20111011044131
Ignore-this: 1460b8a713081c8bbe4d298ab39f264f
]
[test_storage.py: make MutableServer.test_leases pass. refs #999
david-sarah@jacaranda.org**20111011002917
Ignore-this: dce275f6508a7cfe31c0af82483eea97
]
[test/common.py: in shouldFail and shouldHTTPError, when the raised exception does not include the expected substring (or, for shouldHTTPError, when the status code is wrong), mention which test that happened in.
david-sarah@jacaranda.org**20111011002227
Ignore-this: 836cabe9ef774617122905b214a0b8e8
]
[test/mock_s3.py: fix a bug that was causing us to use the wrong directory for share files. refs #999
david-sarah@jacaranda.org**20111010231344
Ignore-this: bc63757f5dd8d31643bd9919f2ecd98c
]
[Add fileutil.fp_list(fp) which is like fp.children(), but returns [] in case of a directory that does not exist. Use it to simplify the disk backend and mock S3 bucket implementations. refs #999
david-sarah@jacaranda.org**20111010231146
Ignore-this: fd4fa8b1446fc7e5c03631b4092c20cc
]
[S3 backend: move the implementation of list_objects from s3_bucket.py to s3_common.py, making s3_bucket.py simpler and list_objects easier to test independently. refs #999
david-sarah@jacaranda.org**20111010230751
Ignore-this: 2f9a8f75671e87d2caba2ac6c6d4bdfd
]
[Make unlink() on share objects consistently idempotent. refs #999
david-sarah@jacaranda.org**20111010204417
Ignore-this: 1dc559fdd89b7135cec64ffca62fc96a
]
[Null backend: implement unlink and readv more correctly. refs #999
david-sarah@jacaranda.org**20111010204404
Ignore-this: 3386bc2a1cd0ff6268def31c5c5ce3a1
]
[test_download.py: fix test_download_failover (it should tolerate non-existing shares in _clobber_most_shares). refs #999
david-sarah@jacaranda.org**20111010204142
Ignore-this: db648ffcbd5e37cf236f49ecc1e720fc
]
[interfaces.py: resolve another conflict with trunk. refs #999
david-sarah@jacaranda.org**20111010200903
Ignore-this: 163067eab9a5c71e12c6cac058a03832
]
[interfaces.py: fix a typo in the name of IMutableSlotWriter.put_encprivkey. refs #393
david-sarah@jacaranda.org**20111010194642
Ignore-this: eb65439e8dd891c169b43b1679c29238
]
[interfaces.py: resolve conflicts with trunk. refs #999
david-sarah@jacaranda.org**20111010195634
Ignore-this: 8e02c7933392491ba3deb678c5bc5876
]
[interfaces.py: remove get_extension_params and set_extension_params methods from IMutableFileURI. refs #393, #1526
david-sarah@jacaranda.org**20111010194842
Ignore-this: 6012be6fcc12f560aeeeac0be2d337d1
]
[Instrument some assertions to report the failed values. refs #999
david-sarah@jacaranda.org**20111010191733
Ignore-this: 4e886faa5909bf703af8228194ae759c
]
[test_storage.py: move some tests that were not applicable to all backends out of ServerTest. refs #999
david-sarah@jacaranda.org**20111010181214
Ignore-this: d2310591c71c4d2d2c5ff4e316f15542
]
[storage/backends/disk/mutable.py: put back a correct assertion that had been disabled. storage/base.py: fix the bug that was causing that assertion to fail. refs #999
david-sarah@jacaranda.org**20111009232142
Ignore-this: dbb644f596bf3c42575b9d9fadc2c9d9
]
[test_storage.py: fix a trivial bug in LeaseCrawler.test_unpredictable_future. refs #999
david-sarah@jacaranda.org**20111007195753
Ignore-this: 357539b4cf8b7455c1787ac591b0ee23
]
[Asyncification, and resolution of conflicts. #999
david-sarah@jacaranda.org**20111007193418
Ignore-this: 29b15345aecd3adeef2c2392ca90d4ff
]
[disk backend: size methods should no longer return Deferreds. refs #999
david-sarah@jacaranda.org**20111007193327
Ignore-this: 8d32ffdbb81d88a30352f344e385feff
]
[Ensure that helper classes are not treated as test cases. Also fix a missing mixin. refs #999
david-sarah@jacaranda.org**20111007081439
Ignore-this: a222110248f378d91c232799bcd5d3a6
]
[More miscapture fixes. refs #999
david-sarah@jacaranda.org**20111007080916
Ignore-this: 85004d4e3a609a2ef70a38164897ff02
]
[Partially asyncify crawlers. refs #999
david-sarah@jacaranda.org**20111007080657
Ignore-this: f6a15b81592bfff33ccf09301dbdfca1
]
[unlink() on share objects should be idempotent. refs #999
david-sarah@jacaranda.org**20111007080615
Ignore-this: ff87d0b30fc81dd8e90bc5c6852955eb
]
[Make sure that get_size etc. work correctly on an ImmutableS3ShareForWriting after it has been closed. Also simplify by removing the _end_offset attribute. refs #999
david-sarah@jacaranda.org**20111007080342
Ignore-this: 9d8ce463daee2ef1b7dc33aca70a0379
]
[Remove an inapplicable comment. refs #999
david-sarah@jacaranda.org**20111007080128
Ignore-this: 1c7fae3ffc9ac412ad9ab6e411ef9be7
]
[Remove unused load method and _loaded attribute from s3/mutable.py. refs #999
david-sarah@jacaranda.org**20111007080051
Ignore-this: b92ed543f7dcf56df0510de8515230e1
]
[Fix a duplicate umid. refs #999
david-sarah@jacaranda.org**20111007080001
Ignore-this: bb9519d15220ab7350731abf19038c2e
]
[Fix some miscapture bugs. refs #999
david-sarah@jacaranda.org**20111007075915
Ignore-this: 88dc8ec49e93e5d62c2abb8f496706cb
]
[Add a _get_sharedir() method on IShareSet, implemented by the disk and mock S3 backends, for use by tests. refs #999
david-sarah@jacaranda.org**20111007075645
Ignore-this: 9e9ce0d244785da8ac4a3c0aa948ddce
]
[Add misc/coding_tools/check-miscaptures.py to detect incorrect captures of variables declared in a for loop, and a 'make check-miscaptures' Makefile target to run it. (It is also run by 'make code-checks'.) This is a rewritten version that reports much fewer false positives, by determining captured variables more accurately. fixes #1555
david-sarah@jacaranda.org**20111007074121
Ignore-this: 51318e9678d132c374ea557ab955e79e
]
[Add a get_share method to IShareSet, to get a specific share. refs #999
david-sarah@jacaranda.org**20111007075426
Ignore-this: 493ddfe83414208f08a22b9f327d6b69
]
[Fix some more potential bugs in test code exposed by check-miscaptures.py. refs #1556
david-sarah@jacaranda.org**20111007033847
Ignore-this: aec8a543e9b5c3563b60692c647439a8
]
[Fix some potential bugs (in non-test code) exposed by check-miscaptures.py. refs #1556
david-sarah@jacaranda.org**20111007032444
Ignore-this: bac9ed65b21c2136c4db2482b3c093f7
]
[Fix some potential bugs in test code exposed by check-miscaptures.py. refs #1556
david-sarah@jacaranda.org**20111007023443
Ignore-this: e48b2c2d200521d6f28c737994ce3a2a
]
[misc/simulators/hashbasedsig.py: simplify by removing unnecessary local function that captured a variable declared in a for loop (this was not a bug, but the code was unclear). Also fix a pyflakes warning about an import. refs #1556
david-sarah@jacaranda.org**20111007023001
Ignore-this: 446c94efae02ded5e85eb3335ca5e69
]
[immutable/literal.py: add pauseProducing method to LiteralProducer. refs #1537
david-sarah@jacaranda.org**20111003195239
Ignore-this: 385ee3379a2819381937357f1eac457
]
[docs: fix the rst formatting of COPYING.TGPPL.rst
zooko@zooko.com**20111003043333
Ignore-this: c5fbc83f4a3db81a0c95b27053c463c5
Now it renders correctly both on trac and with rst2html --verbose from docutils v0.8.1.
]
[MDMF: remove extension fields from caps, tolerate arbitrary ones. Fixes #1526
Brian Warner **20111001233553
Ignore-this: 335e1690aef1146a2c0b8d8c18c1cb21
The filecaps used to be produced with hints for 'k' and segsize, but they
weren't actually used, and doing so had the potential to limit how we change
those filecaps in the future. Also the parsing code had some problems dealing
with other numbers of extensions. Removing the existing fields and making the
parser tolerate (and ignore) extra ones makes MDMF more future-proof.
]
[More asyncification of tests. Also fix some bugs due to capture of slots in for loops. refs #999
david-sarah@jacaranda.org**20111004010813
Ignore-this: 15bf68748ab737d1edc24552ce192f8b
]
[s3/s3_common.py: remove incorrect 'self' arguments from interface methods in IS3Bucket. refs #999
david-sarah@jacaranda.org**20111004010745
Ignore-this: d5f66be90062292164d3f017aef3d6f4
]
[no_network.py: Clean up whitespace around code changed by previous patch.
david-sarah@jacaranda.org**20111004010407
Ignore-this: 647ec8a9346dca1a41212ab250619b72
]
[no_network.py: Fix potential bugs in some tests due to capture of slots in for loops.
david-sarah@jacaranda.org**20111004010231
Ignore-this: 9c496877613a3befd54979e5de6e63d2
]
[Add a share._get_filepath() method used by tests to get the FilePath for a share, rather than accessing the _home attribute. refs #999
david-sarah@jacaranda.org**20111004004604
Ignore-this: ec873e356b7ebd74f52336dd92dea8aa
]
[s3/immutable.py: minor simplification in ImmutableS3ShareForReading. refs #999
david-sarah@jacaranda.org**20110930212714
Ignore-this: d71e2466231f695891a6b8d1df945687
]
[free up the buffer used to hold data while it is being written to ImmutableS3ShareForWriting
zooko@zooko.com**20110930060238
Ignore-this: 603b2c8bb1f4656bdde5876ac95aa5c9
]
[FIX THE BUG!
zooko@zooko.com**20110930032140
Ignore-this: fd32c4ac3054ae6fc2b9433f113b2fd6
]
[fix another bug in ImmutableShareS3ForWriting
zooko@zooko.com**20110930025701
Ignore-this: 6ad7bd17111b12d96991172fbe04d76
]
[really fix the bug in ImmutableS3ShareForWriting
zooko@zooko.com**20110930023501
Ignore-this: 36a7804433cab667566d119af7223425
]
[Add dummy lease methods to immutable S3 share objects. refs #999
david-sarah@jacaranda.org**20110930021703
Ignore-this: 7c21f140020edd64027c71be0f32c2b2
]
[fix bug in ImmutableS3ShareForWriting
zooko@zooko.com**20110930020535
Ignore-this: f7f63d2fc2086903a195cc000f306b88
]
[test_storage.py: Server class uses ShouldFailMixin. refs #999
david-sarah@jacaranda.org**20110930001349
Ignore-this: 4cf1ef21bbf85d7fe52ab660f59ff237
]
[mock_s3.py: fix bug in MockS3Error constructor. refs #999
david-sarah@jacaranda.org**20110930001326
Ignore-this: 4d0ebd9120fc8e99b15924c671cd0927
]
[return res
zooko@zooko.com**20110930000446
Ignore-this: 6f73b3e389612c73c6590007229ad8e
]
[fix doc to say that secret access key goes into private/s3secret
zooko@zooko.com**20110930000256
Ignore-this: c054ff78041a05b3177b3c1b3e9d4ae7
]
[s3_bucket.py: fix an incorrect argument signature for list_objects. refs #999
david-sarah@jacaranda.org**20110929235646
Ignore-this: f02e3a23f28fadef71c70fd0b1592ba6
]
[Make sure that the statedir is created before trying to use it. refs #999
david-sarah@jacaranda.org**20110929234845
Ignore-this: b5f0529b1f2a5b5250c2ee2091cbe24b
]
[test/mock_s3.py: fix a typo. refs #999
david-sarah@jacaranda.org**20110929234808
Ignore-this: ccdff591f9b301f7f486454a4366c2b3
]
[test_storage.py: only run test_large_share on the disk backend. (It will wedge your machine if run on the S3 backend with MockS3Bucket.) refs #999
david-sarah@jacaranda.org**20110929234725
Ignore-this: ffa7c08458ee0159455b6f1cd1c3ff48
]
[Fixes to S3 config parsing, with tests. refs #999
david-sarah@jacaranda.org**20110929225014
Ignore-this: 19aa5a3e9575b0c2f77b19fe1bcbafcb
]
[Add missing src/allmydata/test/mock_s3.py (mock implementation of an S3 bucket). refs #999
david-sarah@jacaranda.org**20110929212229
Ignore-this: a1433555d4bb0b8b36fb80feb122187b
]
[Make the s3.region option case-insensitive (txaws expects uppercase). refs #999
david-sarah@jacaranda.org**20110929211606
Ignore-this: def83d3fa368c315573e5f1bad5ee7f9
]
[Fix missing add_lease method on ImmutableS3ShareForWriting. refs #999
david-sarah@jacaranda.org**20110929211524
Ignore-this: 832f0d94f912b17006b0dbaab94846b6
]
[Add missing src/allmydata/storage/backends/s3/s3_bucket.py. refs #999
david-sarah@jacaranda.org**20110929211416
Ignore-this: aa783c5d7c32af172b5c5a3d62c3faf2
]
[scripts/debug.py: repair stale code, and use the get_disk_share function defined by disk_backend instead of duplicating it. refs #999
david-sarah@jacaranda.org**20110929211252
Ignore-this: 5dda548e8703e35f0c103467346627ef
]
[Fix a bug in the new config parsing code when reserved_space is not present for a disk backend. refs #999
david-sarah@jacaranda.org**20110929211106
Ignore-this: b05bd3c4ff7d90b5ecb1e6a54717b735
]
[test_storage.py: Avoid using the same working directory for different test classes. refs #999
david-sarah@jacaranda.org**20110929210954
Ignore-this: 3a01048e941c61c603eec603d064bebb
]
[More asycification of tests. refs #999
david-sarah@jacaranda.org**20110929210727
Ignore-this: 87690a62f89a07e63b859c24948d262d
]
[Fix a bug in disk_backend.py. refs #999
david-sarah@jacaranda.org**20110929182511
Ignore-this: 4f9a62adf03fc3221e46b54f7a4a960b
]
[docs/backends/S3.rst: add s3.region option. Also minor changes to configuration.rst. refs #999
david-sarah@jacaranda.org**20110929182442
Ignore-this: 2992ead5f8d9357a0d9b912b1e0bd932
]
[Updates to test_backends.py. refs #999
david-sarah@jacaranda.org**20110929182016
Ignore-this: 3bac19179308e6f27e54c45c7cad4dc6
]
[Implement selection of backends from tahoe.cfg options. Also remove the discard_storage parameter from the disk backend. refs #999
david-sarah@jacaranda.org**20110929181754
Ignore-this: c7f78e7db98326723033f44e56858683
]
[test_storage.py: fix an incorrect argument in construction of S3Backend. refs #999
david-sarah@jacaranda.org**20110929081331
Ignore-this: 33ad68e0d3a15e3fa1dda90df1b8365c
]
[Move the implementation of lease methods to disk_backend.py, and add stub implementations in s3_backend.py that raise NotImplementedError. Fix the lease methods in the disk backend to be synchronous. Also make sure that get_shares() returns a Deferred list sorted by shnum. refs #999
david-sarah@jacaranda.org**20110929081132
Ignore-this: 32cbad21c7236360e2e8e84a07f88597
]
[Make the make_bucket_writer method synchronous. refs #999
david-sarah@jacaranda.org**20110929080712
Ignore-this: 1de299e791baf1cf1e2a8d4b593e8ba1
]
[Add get_s3_share function in place of S3ShareSet._load_shares. refs #999
david-sarah@jacaranda.org**20110929080530
Ignore-this: f99665979612e42ecefa293bda0db5de
]
[Complete the splitting of the immutable IStoredShare interface into IShareForReading and IShareForWriting. Also remove the 'load' method from shares, and other minor interface changes. refs #999
david-sarah@jacaranda.org**20110929075544
Ignore-this: 8c923051869cf162d9840770b4a08573
]
[split Immutable S3 Share into for-reading and for-writing classes, remove unused (as far as I can tell) methods, use cStringIO for buffering the writes
zooko@zooko.com**20110929055038
Ignore-this: 82d8c4488a8548936285a975ef5a1559
TODO: define the interfaces that the new classes claim to implement
]
[Comment out an assertion that was causing all mutable tests to fail. THIS IS PROBABLY WRONG. refs #999
david-sarah@jacaranda.org**20110929041110
Ignore-this: 1e402d51ec021405b191757a37b35a94
]
[Fix some incorrect or incomplete asyncifications. refs #999
david-sarah@jacaranda.org**20110929040800
Ignore-this: ed70e9af2190217c84fd2e8c41de4c7e
]
[Add some debugging assertions that share objects are not Deferred. refs #999
david-sarah@jacaranda.org**20110929040657
Ignore-this: 5c7f56a146f5a3c353c6fe5b090a7dc5
]
[scripts/debug.py: take account of some API changes. refs #999
david-sarah@jacaranda.org**20110929040539
Ignore-this: 933c3d44b993c041105038c7d4514386
]
[Make get_sharesets_for_prefix synchronous for the time being (returning a Deferred breaks crawlers). refs #999
david-sarah@jacaranda.org**20110929040136
Ignore-this: e94b93d4f3f6173d9de80c4121b68748
]
[More asyncification of tests. refs #999
david-sarah@jacaranda.org**20110929035644
Ignore-this: 28b650a9ef593b3fd7524f6cb562ad71
]
[no_network.py: add some assertions that the things we wrap using LocalWrapper are not Deferred (which is not supported and causes hard-to-debug failures). refs #999
david-sarah@jacaranda.org**20110929035537
Ignore-this: fd103fbbb54fbbc17b9517c78313120e
]
[Add some debugging code (switched off) to no_network.py. When switched on (PRINT_TRACEBACKS = True), this prints the stack trace associated with the caller of a remote method, mitigating the problem that the traceback normally gets lost at that point. TODO: think of a better way to preserve the traceback that can be enabled by default. refs #999
david-sarah@jacaranda.org**20110929035341
Ignore-this: 2a593ec3ee450719b241ea8d60a0f320
]
[Use factory functions to create share objects rather than their constructors, to allow the factory to return a Deferred. Also change some methods on IShareSet and IStoredShare to return Deferreds. Refactor some constants associated with mutable shares. refs #999
david-sarah@jacaranda.org**20110928052324
Ignore-this: bce0ac02f475bcf31b0e3b340cd91198
]
[Work in progress for asyncifying the backend interface (necessary to call txaws methods that return Deferreds). This is incomplete so lots of tests fail. refs #999
david-sarah@jacaranda.org**20110927073903
Ignore-this: ebdc6c06c3baa9460af128ec8f5b418b
]
[mutable/publish.py: don't crash if there are no writers in _report_verinfo. refs #999
david-sarah@jacaranda.org**20110928014126
Ignore-this: 9999c82bb3057f755a6e86baeafb8a39
]
[scripts/debug.py: fix incorrect arguments to dump_immutable_share. refs #999
david-sarah@jacaranda.org**20110928014049
Ignore-this: 1078ee3f06a2f36b29e0cf694d2851cd
]
[test_system.py: more debug output for a failing check in test_filesystem. refs #999
david-sarah@jacaranda.org**20110928014019
Ignore-this: e8bb77b8f7db12db7cd69efb6e0ed130
]
[test_system.py: incorrect arguments were being passed to the constructor for MutableDiskShare. refs #999
david-sarah@jacaranda.org**20110928013857
Ignore-this: e9719f74e7e073e37537f9a71614b8a0
]
[Undo an incompatible change to RIStorageServer. refs #999
david-sarah@jacaranda.org**20110928013729
Ignore-this: bea4c0f6cb71202fab942cd846eab693
]
[mutable/publish.py: resolve conflicting patches. refs #999
david-sarah@jacaranda.org**20110927073530
Ignore-this: 6154a113723dc93148151288bd032439
]
[test_storage.py: fix test_no_st_blocks. refs #999
david-sarah@jacaranda.org**20110927072848
Ignore-this: 5f12b784920f87d09c97c676d0afa6f8
]
[Cleanups to S3 backend (not including Deferred changes). refs #999
david-sarah@jacaranda.org**20110927071855
Ignore-this: f0dca788190d92b1edb1ee1498fb34dc
]
[Cleanups to disk backend. refs #999
david-sarah@jacaranda.org**20110927071544
Ignore-this: e9d3fd0e85aaf301c04342fffdc8f26
]
[test_storage.py: fix test_status_bad_disk_stats. refs #999
david-sarah@jacaranda.org**20110927071403
Ignore-this: 6108fee69a60962be2df2ad11b483a11
]
[util/deferredutil.py: add some utilities for asynchronous iteration. refs #999
david-sarah@jacaranda.org**20110927070947
Ignore-this: ac4946c1e5779ea64b85a1a420d34c9e
]
[Add 'has-immutable-readv' to server version information. refs #999
david-sarah@jacaranda.org**20110923220935
Ignore-this: c3c4358f2ab8ac503f99c968ace8efcf
]
[Minor cleanup to disk backend. refs #999
david-sarah@jacaranda.org**20110923205510
Ignore-this: 79f92d7c2edb14cfedb167247c3f0d08
]
[Update the S3 backend. refs #999
david-sarah@jacaranda.org**20110923205345
Ignore-this: 5ca623a17e09ddad4cab2f51b49aec0a
]
[Update the null backend to take into account interface changes. Also, it now records which shares are present, but not their contents. refs #999
david-sarah@jacaranda.org**20110923205219
Ignore-this: 42a23d7e253255003dc63facea783251
]
[Make EmptyShare.check_testv a simple function. refs #999
david-sarah@jacaranda.org**20110923204945
Ignore-this: d0132c085f40c39815fa920b77fc39ab
]
[The cancel secret needs to be unique, even if it isn't explicitly provided. refs #999
david-sarah@jacaranda.org**20110923204914
Ignore-this: 6c44bb908dd4c0cdc59506b2d87a47b0
]
[Implement readv for immutable shares. refs #999
david-sarah@jacaranda.org**20110923204611
Ignore-this: 24f14b663051169d66293020e40c5a05
]
[Remove redundant si_s argument from check_write_enabler. refs #999
david-sarah@jacaranda.org**20110923204425
Ignore-this: 25be760118dbce2eb661137f7d46dd20
]
[interfaces.py: add fill_in_space_stats method to IStorageBackend. refs #999
david-sarah@jacaranda.org**20110923203723
Ignore-this: 59371c150532055939794fed6c77dcb6
]
[Add incomplete S3 backend. refs #999
david-sarah@jacaranda.org**20110923041314
Ignore-this: b48df65699e3926dcbb87b5f755cdbf1
]
[Move advise_corrupt_share to allmydata/storage/backends/base.py, since it will be common to the disk and S3 backends. refs #999
david-sarah@jacaranda.org**20110923041115
Ignore-this: 782b49f243bd98fcb6c249f8e40fd9f
]
[A few comment cleanups. refs #999
david-sarah@jacaranda.org**20110923041003
Ignore-this: f574b4a3954b6946016646011ad15edf
]
[mutable/publish.py: elements should not be removed from a dictionary while it is being iterated over. refs #393
david-sarah@jacaranda.org**20110923040825
Ignore-this: 135da94bd344db6ccd59a576b54901c1
]
[Blank line cleanups.
david-sarah@jacaranda.org**20110923012044
Ignore-this: 8e1c4ecb5b0c65673af35872876a8591
]
[Reinstate the cancel_lease methods of ImmutableDiskShare and MutableDiskShare, since they are needed for lease expiry. refs #999
david-sarah@jacaranda.org**20110922183323
Ignore-this: a11fb0dd0078ff627cb727fc769ec848
]
[Fix most of the crawler tests. refs #999
david-sarah@jacaranda.org**20110922183008
Ignore-this: 116c0848008f3989ba78d87c07ec783c
]
[Fix some more test failures. refs #999
david-sarah@jacaranda.org**20110922045451
Ignore-this: b726193cbd03a7c3d343f6e4a0f33ee7
]
[uri.py: resolve a conflict between trunk and the pluggable-backends patches. refs #999
david-sarah@jacaranda.org**20110921222038
Ignore-this: ffeeab60d8e71a6a29a002d024d76fcf
]
[Fix more shallow bugs, mainly FilePathification. Also, remove the max_space_per_bucket parameter from BucketWriter since it can be obtained from the _max_size attribute of the share (via a new get_allocated_size() accessor). refs #999
david-sarah@jacaranda.org**20110921221421
Ignore-this: 600e3ccef8533aa43442fa576c7d88cf
]
[More fixes to tests needed for pluggable backends. refs #999
david-sarah@jacaranda.org**20110921184649
Ignore-this: 9be0d3a98e350fd4e17a07d2c00bb4ca
]
[docs/backends/S3.rst, disk.rst: describe type of space settings as 'quantity of space', not 'str'. refs #999
david-sarah@jacaranda.org**20110921031705
Ignore-this: a74ed8e01b0a1ab5f07a1487d7bf138
]
[docs/backends/S3.rst: remove Issues section. refs #999
david-sarah@jacaranda.org**20110921031625
Ignore-this: c83d8f52b790bc32488869e6ee1df8c2
]
[Fix some incorrect attribute accesses. refs #999
david-sarah@jacaranda.org**20110921031207
Ignore-this: f1ea4c3ea191f6d4b719afaebd2b2bcd
]
[docs/backends: document the configuration options for the pluggable backends scheme. refs #999
david-sarah@jacaranda.org**20110920171737
Ignore-this: 5947e864682a43cb04e557334cda7c19
]
[Work-in-progress, includes fix to bug involving BucketWriter. refs #999
david-sarah@jacaranda.org**20110920033803
Ignore-this: 64e9e019421454e4d08141d10b6e4eed
]
[Pluggable backends -- all other changes. refs #999
david-sarah@jacaranda.org**20110919233256
Ignore-this: 1a77b6b5d178b32a9b914b699ba7e957
]
[Pluggable backends -- new and moved files, changes to moved files. refs #999
david-sarah@jacaranda.org**20110919232926
Ignore-this: ec5d2d1362a092d919e84327d3092424
]
[interfaces.py: 'which -> that' grammar cleanup.
david-sarah@jacaranda.org**20110825003217
Ignore-this: a3e15f3676de1b346ad78aabdfb8cac6
]
[test/test_runner.py: BinTahoe.test_path has rare nondeterministic failures; this patch probably fixes a problem where the actual cause of failure is masked by a string conversion error.
david-sarah@jacaranda.org**20110927225336
Ignore-this: 6f1ad68004194cc9cea55ace3745e4af
]
[docs/configuration.rst: add section about the types of node, and clarify when setting web.port enables web-API service. fixes #1444
zooko@zooko.com**20110926203801
Ignore-this: ab94d470c68e720101a7ff3c207a719e
]
[TAG allmydata-tahoe-1.9.0a2
warner@lothar.com**20110925234811
Ignore-this: e9649c58f9c9017a7d55008938dba64f
]
Patch bundle hash:
b1b0675d02811fe9a093152815174cd8239bd24a