[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