DETECTING STORAGE ERRORS IN A DISPERSED STORAGE NETWORK
A method for execution by a computing device includes updating a storage error list in response to detecting a write slice failure. The storage error list is also updated in response to detecting a failure of a storage unit memory, wherein the storage unit memory is utilized to store a first at least one of a plurality of encoded data slices. A first range error message is issued in response to detecting loss of a local slice name list associated with storage of a second at least one of the plurality of encoded data slices. The storage error list is updated in response to receiving a second range error message. Rebuilding of a third at least one of the plurality of encoded data slices is facilitated based on interpreting the storage error list.
1 . A method for execution by a computing device that includes a processor, the method comprises:
updating a storage error list in response to detecting a write slice failure;
updating the storage error list in response to detecting a failure of a storage unit memory, wherein the storage unit memory is utilized to store a first at least one of a plurality of encoded data slices;
issuing a first range error message in response to detecting loss of a local slice name list associated with storage of a second at least one of the plurality of encoded data slices;
updating the storage error list in response to receiving a second range error message; and
facilitating rebuilding of a third at least one of the plurality of encoded data slices based on interpreting the storage error list.
2 . The method of claim 1 , wherein updating the storage error list in response to detecting the write slice failure includes:
identifying a slice name associated with write slice rhetoric of the write slice failure;
generating a modified storage error list to include the slice name; and
publishing the modified storage error list to at least one other entity of a dispersed storage network (DSN).
3 . The method of claim 1 , wherein updating the storage error list in response to detecting the failure of the storage unit memory includes:
identifying a plurality of slice names from the local slice name list;
generating a modified storage error list to include the plurality of slice names; and
publishing the modified storage error list to at least one other entity of a dispersed storage network (DSN).
4 . The method of claim 1 , wherein issuing the first range error message includes:
identifying a DSN address range associated with the local slice name list;
generating the first range error message to include the identified DSN address range;
selecting one storage unit from a plurality of storage units; and
sending the first range error message to the one storage unit.
5 . The method of claim 1 , wherein updating the storage error list in response to receiving the second range error message includes:
extracting a DSN address range from the second range error message;
identifying a plurality of locally stored encoded data slices associated with a local DSN address range that corresponds to the DSN address range;
identifying a plurality of identified slice names of the plurality of locally stored encoded data slices;
generating a plurality of generated slice names for the DSN address range based on the plurality of identified slice names;
generating a modified storage error list to include the plurality of generated slice names; and
publishing the modified storage error list.
6 . The method of claim 1 , wherein facilitating rebuilding of the third at least one of the plurality of encoded data slices includes:
extracting a slice name of the third at least one of the plurality of encoded data slices from the storage error list;
obtaining a decode threshold number of encoded data slices of a data segment associated with the slice name;
dispersed storage error decoding the decode threshold number of encoded data slices to generate a reproduced data segment;
dispersed storage error encoding the reproduced data segment to produce a rebuilt encoded data slice associated with the slice name; and
facilitating storage of the rebuilt encoded data slice in a memory of a storage unit associated with the slice name.
7 . The method of claim 6 , wherein obtaining the decode threshold number of encoded data slices includes:
generating a decode threshold number of other slice names associated with the data segment;
issuing a plurality of read slice requests that includes the decode threshold number of other slice names to a plurality of storage units; and
receiving a plurality of read slice responses that includes the decode threshold number of encoded data slices.
8 . A processing system of a computing device comprises:
at least one processor;
a memory that stores operational instructions, that when executed by the at least one processor cause the processing system to:
update a storage error list in response to detecting a write slice failure;
update the storage error list in response to detecting a failure of a storage unit memory, wherein the storage unit memory is utilized to store a first at least one of a plurality of encoded data slices;
issue a first range error message in response to detecting loss of a local slice name list associated with storage of a second at least one of the plurality of encoded data slices;
update the storage error list in response to receiving a second range error message; and
facilitate rebuilding of a third at least one of the plurality of encoded data slices based on interpreting the storage error list.
9 . The processing system of claim 8 , wherein updating the storage error list in response to detecting the write slice failure includes:
identifying a slice name associated with write slice rhetoric of the write slice failure;
generating a modified storage error list to include the slice name; and
publishing the modified storage error list to at least one other entity of a dispersed storage network (DSN).
10 . The processing system of claim 8 , wherein updating the storage error list in response to detecting the failure of the storage unit memory includes:
identifying a plurality of slice names from the local slice name list;
generating a modified storage error list to include the plurality of slice names; and
publishing the modified storage error list to at least one other entity of a dispersed storage network (DSN).
11 . The processing system of claim 8 , wherein issuing the first range error message includes:
identifying a DSN address range associated with the local slice name list;
generating the first range error message to include the identified DSN address range;
selecting one storage unit from a plurality of storage units; and
sending the first range error message to the one storage unit.
12 . The processing system of claim 8 , wherein updating the storage error list in response to receiving the second range error message includes:
extracting a DSN address range from the second range error message;
identifying a plurality of locally stored encoded data slices associated with a local DSN address range that corresponds to the DSN address range;
identifying a plurality of identified slice names of the plurality of locally stored encoded data slices;
generating a plurality of generated slice names for the DSN address range based on the plurality of identified slice names;
generating a modified storage error list to include the plurality of generated slice names; and
publishing the modified storage error list.
13 . The processing system of claim 8 , wherein facilitating rebuilding of the third at least one of the plurality of encoded data slices includes:
extracting a slice name of the third at least one of the plurality of encoded data slices from the storage error list;
obtaining a decode threshold number of encoded data slices of a data segment associated with the slice name;
dispersed storage error decoding the decode threshold number of encoded data slices to generate a reproduced data segment;
dispersed storage error encoding the reproduced data segment to produce a rebuilt encoded data slice associated with the slice name; and
facilitating storage of the rebuilt encoded data slice in a memory of a storage unit associated with the slice name.
14 . The processing system of claim 13 , wherein obtaining the decode threshold number of encoded data slices includes:
generating a decode threshold number of other slice names associated with the data segment;
issuing a plurality of read slice requests that includes the decode threshold number of other slice names to a plurality of storage units; and
receiving a plurality of read slice responses that includes the decode threshold number of encoded data slices.
15 . A computer readable storage medium comprises:
at least one memory section that stores operational instructions that, when executed by a processing system of a dispersed storage network (DSN) that includes a processor and a memory, causes the processing system to:
update a storage error list in response to detecting a write slice failure;
update the storage error list in response to detecting a failure of a storage unit memory, wherein the storage unit memory is utilized to store a first at least one of a plurality of encoded data slices;
issue a first range error message in response to detecting loss of a local slice name list associated with storage of a second at least one of the plurality of encoded data slices;
update the storage error list in response to receiving a second range error message; and
facilitate rebuilding of a third at least one of the plurality of encoded data slices based on interpreting the storage error list.
16 . The computer readable storage medium of claim 15 , wherein updating the storage error list in response to detecting the write slice failure includes:
identifying a slice name associated with write slice rhetoric of the write slice failure;
generating a modified storage error list to include the slice name; and
publishing the modified storage error list to at least one other entity of a dispersed storage network (DSN).
17 . The computer readable storage medium of claim 15 , wherein updating the storage error list in response to detecting the failure of the storage unit memory includes:
identifying a plurality of slice names from the local slice name list;
generating a modified storage error list to include the plurality of slice names; and
publishing the modified storage error list to at least one other entity of a dispersed storage network (DSN).
18 . The computer readable storage medium of claim 15 , wherein issuing the first range error message includes:
identifying a DSN address range associated with the local slice name list;
generating the first range error message to include the identified DSN address range;
selecting one storage unit from a plurality of storage units; and
sending the first range error message to the one storage unit.
19 . The computer readable storage medium of claim 15 , wherein updating the storage error list in response to receiving the second range error message includes:
extracting a DSN address range from the second range error message;
identifying a plurality of locally stored encoded data slices associated with a local DSN address range that corresponds to the DSN address range;
identifying a plurality of identified slice names of the plurality of locally stored encoded data slices;
generating a plurality of generated slice names for the DSN address range based on the plurality of identified slice names;
generating a modified storage error list to include the plurality of generated slice names; and
publishing the modified storage error list.
20 . The computer readable storage medium of claim 15 , wherein facilitating rebuilding of the third at least one of the plurality of encoded data slices includes:
extracting a slice name of the third at least one of the plurality of encoded data slices from the storage error list;
obtaining a decode threshold number of encoded data slices of a data segment associated with the slice name;
dispersed storage error decoding the decode threshold number of encoded data slices to generate a reproduced data segment;
dispersed storage error encoding the reproduced data segment to produce a rebuilt encoded data slice associated with the slice name; and
facilitating storage of the rebuilt encoded data slice in a memory of a storage unit associated with the slice name.