[tahoe-lafs-trac-stream] [tahoe-lafs] #1510: modifying SDMF file fails when tahoe.cfg's k/N differs from file
tahoe-lafs
trac at tahoe-lafs.org
Sat Aug 27 13:44:07 PDT 2011
#1510: modifying SDMF file fails when tahoe.cfg's k/N differs from file
--------------------------+-------------------------
Reporter: warner | Owner:
Type: defect | Status: new
Priority: critical | Milestone: 1.9.0
Component: code-mutable | Version: 1.9.0a1
Keywords: | Launchpad Bug:
--------------------------+-------------------------
I found a regression in the SDMF publish code when I happened to try to
update an old directory that I'd created with k=3/N=20. My current
tahoe.cfg uses k=3/N=10. The exception is a !NotEnoughServersError that
wraps an !AssertionError in
{{{mutable.layout.SDMFSlotWriteProxy.finish_publishing}}}, where it
notices that it doesn't have all the share pieces it needs (it's missing
sharedata, blockhashes, and sharehashes, but it has verification_key,
encprivkey, and signature).
The publish process has several dictionaries that are keyed by share
number. It looks like some of them are being filled with shnums that
depend upon what the current tahoe.cfg has for {{{shares.total}}}, whereas
others are filled according to which existing shares were actually found.
If tahoe.cfg has changed in the meantime, {{{finish_publishing()}}} will
be called on shnums that were never handled in the earlier methods.
I've attached a unit test which exercises this case in a pretty narrow
way.
This is a blocker for 1.9
--
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1510>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized storage
More information about the tahoe-lafs-trac-stream
mailing list