[tahoe-lafs-trac-stream] [tahoe-lafs] #1566: if a stored share has a corrupt header, other shares held by that server for the file should still be accessible to clients

tahoe-lafs trac at tahoe-lafs.org
Tue Oct 18 11:16:23 PDT 2011


#1566: if a stored share has a corrupt header, other shares held by that server
for the file should still be accessible to clients
-----------------------------+---------------------------------------------
     Reporter:  davidsarah   |      Owner:  davidsarah
         Type:  defect       |     Status:  assigned
     Priority:  major        |  Milestone:  undecided
    Component:  code-        |    Version:  1.9.0b1
  storage                    |   Keywords:  corruption preservation storage
   Resolution:               |
Launchpad Bug:               |
-----------------------------+---------------------------------------------

Old description:



New description:

 When a storage server receives a {{{remote_get_buckets}}} or
 {{{remote_slot_testv_and_readv_and_writev}}} request, it will try to
 create share objects for each of the shares it stores under that SI that
 are wanted by the client. If any of those shares have a corrupt header
 (typically resulting in a {{{UnknownMutableContainerVersionError}}},
 {{{UnknownImmutableContainerVersionError}}}, or {{{struct.error}}} from
 the share class constructor), the whole request will fail, even though the
 server might hold other shares that are not corrupted.

 Unfortunately there is no way in the current storage protocol to report
 success for some shares and a failure for others. The options are:
  * the status quo -- no shares in the shareset are accessible;
  * shares with corrupt headers are ignored on read requests;
  * if ''all'' shares are corrupted then report one of the errors, but if
 only some shares in a shareset have corrupted headers, ignore them and
 allow access to the rest.

 I found this bug when working on the branch for #999, but I think it also
 applies to trunk.

--

Comment (by davidsarah):

 I will write a test.

-- 
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1566#comment:2>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list