[tahoe-lafs-trac-stream] [tahoe-lafs] #667: KeyError in mutable download
tahoe-lafs
trac at tahoe-lafs.org
Thu Dec 6 22:15:47 UTC 2012
#667: KeyError in mutable download
-------------------------+-------------------------------------------------
Reporter: warner | Owner:
Type: defect | Status: new
Priority: major | Milestone: soon
Component: code- | Version: 1.3.0
mutable | Keywords: mutable download reliability
Resolution: | availability
Launchpad Bug: |
-------------------------+-------------------------------------------------
Old description:
> Zooko observed a !KeyError exception raised during mutable-file
> retrieval, in #651 (specifically at
> source:src/allmydata/mutable/retrieve.py#L157). This is a bug in the
> retrieval code, probably triggered by running out of valid shares. Either
> the {{{self.remaining_sharemap}}} mapping should not be modified while
> {{{download()}}} is iterating over it, or more likely {{{download()}}}
> must be prepared for {{{remaining_sharemap}}} to change during the
> iteration.
New description:
Zooko observed a !KeyError exception raised during mutable-file retrieval,
in #651 (specifically at source:src/allmydata/mutable/retrieve.py#L157).
This is a bug in the retrieval code, probably triggered by running out of
valid shares. Either the {{{self.remaining_sharemap}}} mapping should not
be modified while {{{download()}}} is iterating over it, or more likely
{{{download()}}} must be prepared for {{{remaining_sharemap}}} to change
during the iteration.
--
Comment (by davidsarah):
The description of this ticket probably refers to the code as it was
before the start of Kevan's MDMF patches, i.e. up to and including
[source:trunk/src/allmydata/mutable/retrieve.py at 4772#L157 darcs revision
4772] / [source:git/src/allmydata/mutable/retrieve.py?rev=4061258c#L157
git revision 4061258c]. The code changes a lot for MDMF and this bug might
have been incidentally fixed -- in particular, there is no longer any
indexing into {{{self.remaining_sharemap}}}, and all of the loops over its
keys are done synchronously with the keys having been copied beforehand.
If that's correct, this ticket can be closed as "cannot reproduce".
(There was a vaguely similar bug in
[source:git/src/allmydata/mutable/publish.py] that is easy to confuse with
this one, but that was fixed in #1749.)
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/667#comment:8>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list