[tahoe-lafs-trac-stream] [tahoe-lafs] #1756: MDMF publisher sends duplicate write vector elements
tahoe-lafs
trac at tahoe-lafs.org
Fri Oct 26 01:34:13 UTC 2012
#1756: MDMF publisher sends duplicate write vector elements
------------------------------+--------------------------
Reporter: davidsarah | Owner:
Type: defect | Status: new
Priority: normal | Milestone: 1.11.0
Component: code-mutable | Version: 1.9.1
Resolution: | Keywords: mdmf publish
Launchpad Bug: |
------------------------------+--------------------------
Changes (by davidsarah):
* milestone: undecided => 1.11.0
Old description:
> The MDMF publisher (in mutable/layout.py) sends duplicate write vector
> elements for the start of the MDMF header. This confused the cloud
> backend before I fixed it to tolerate duplicates; in any case, the
> publisher probably shouldn't be doing that.
>
> IRC log of debugging session:
> {{{
> the write vector that fails is: [(2167, 54), (123, 346), (2221, 32),
> (469, 136), (0, 41), (605, 66), (671, 93), (59, 64), (41, 18), (0, 41)]
> (first element of each pair is data offset, second is length of write)
> which contains two writes at offset 0 of length 41
> ***davidsarah looks at the MDMF publisher
> the first 41 bytes is the container type byte (SDMF or MDMF),
> sequence number, and root hash
> which suggests that MDMFSlotWriteProxy.put_root_hash is being
> called twice...
> no, it isn't
> so in that case, put_root_hash is being called, and the
> if not self._written branch in _write is also being taken, maybe
> yep, that's it
> }}}
New description:
The MDMF publisher (in mutable/layout.py) sends duplicate write vector
elements for the start of the MDMF header. This confused the cloud backend
before I fixed it to tolerate duplicates; in any case, the publisher
probably shouldn't be doing that.
IRC log of debugging session:
{{{
the write vector that fails is: [(2167, 54), (123, 346), (2221, 32), (469,
136), (0, 41), (605, 66), (671, 93), (59, 64), (41, 18), (0, 41)]
(first element of each pair is data offset, second is length of write)
which contains two writes at offset 0 of length 41
***davidsarah looks at the MDMF publisher
the first 41 bytes is the container type byte (SDMF or MDMF),
sequence number, and root hash
which suggests that MDMFSlotWriteProxy.put_root_hash is being
called twice...
no, it isn't
so in that case, put_root_hash is being called, and the
if not self._written branch in _write is also being taken, maybe
yep, that's it
}}}
--
--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1756#comment:1>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list