SELECTING AN ALTERNATIVE REBUILDING METHOD IN A DISPERSED STORAGE NETWORK
A method for execution by an integrity processing unit of a dispersed storage network (DSN) includes detecting at least one storage error associated with storage of a data object in the DSN. It is determined whether an unfavorable DSN write condition exists, and a rebuilding request is issued to a rebuilding module associated with a storage error of the at least one storage errors when the unfavorable DSN write condition is determined to exist. The rebuilding module facilitates rebuilding of an encoded data slice associated with the storage error in response to receiving the rebuilding request.
1 . A method for execution by an integrity processing unit that includes a processor, the method comprises:
detecting at least one storage error associated with storage of a data object in a dispersed storage network (DSN);
determining whether an unfavorable DSN write condition exists; and
issuing a first rebuilding request to a first rebuilding module associated with a storage error of the at least one storage errors when the unfavorable DSN write condition is determined to exist;
wherein the first rebuilding module facilitates rebuilding of a first encoded data slice associated with the storage error in response to receiving the first rebuilding request.
2 . The method of claim 1 , wherein the first encoded data slice is one of a set of encoded data slices associated with the data object, and wherein the data object was dispersed storage error encoded to produce the set of encoded data slices for storage in a set of storage units that includes a storage unit associated with the first rebuilding module.
3 . The method of claim 1 , wherein the unfavorable DSN write condition is determined to exist in response to detecting that less than a write threshold number of storage units are available.
4 . The method of claim 1 , wherein the unfavorable DSN write condition is determined to exist in response to detecting that an unfavorable number of write locks associated with a rebuilding index are being held.
5 . The method of claim 1 , wherein the unfavorable DSN write condition is determined to exist in response to detecting expiring credentials associated with a centralized rebuilding module.
6 . The method of claim 1 , wherein the unfavorable DSN write condition is determined to exist in response to detecting that a DSN storage utilization level is greater than a maximum storage utilization threshold level.
7 . The method of claim 1 , wherein issuing the first rebuilding request includes:
generating the first rebuilding request to include a DSN address associated with a storage error of the at least one storage error;
identifying a storage unit of a plurality of storage units associated with the storage error;
determining the storage unit includes a corresponding rebuilding module; and
sending the first rebuilding request to the storage unit.
8 . The method of claim 1 , wherein the first rebuilding module facilitates rebuilding of the first encoded data slice associated with the storage error by:
recovering a data segment associated with the storage error;
re-encoding the data segment to produce a rebuilt first encoded data slice; and
storing the rebuilt first encoded data slice in a local memory.
9 . The method of claim 1 , wherein the first rebuilding module further:
identifies a second rebuilding module of the DSN associated with the storage error; and
generates a second rebuilding request for transmission to the second rebuilding module that indicates the storage error;
wherein the second rebuilding module facilitates rebuilding of a second encoded data slice associated with the storage error.
10 . The method of claim 9 , wherein the second rebuilding module facilitates rebuilding of the second encoded data slice, and further facilitates rebuilding of the first encoded data slice, by:
recovering a data segment associated with the storage error;
re-encoding the data segment to produce a rebuilt first encoded data slice and a rebuilt second encoded data slice;
transmitting the rebuilt first encoded data slice to the first rebuilding module for storage; and
storing the rebuilt second encoded data slice in a local memory.
11 . A processing system of an integrity processing unit 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:
detect at least one storage error associated with storage of a data object in a dispersed storage network (DSN);
determine whether an unfavorable DSN write condition exists; and
issue a first rebuilding request to a first rebuilding module associated with a storage error of the at least one storage errors when the unfavorable DSN write condition is determined to exist;
wherein the first rebuilding module facilitates rebuilding of a first encoded data slice associated with the storage error in response to receiving the first rebuilding request.
12 . The processing system of claim 11 , wherein the first encoded data slice is one of a set of encoded data slices associated with the data object, and wherein the data object was dispersed storage error encoded to produce the set of encoded data slices for storage in a set of storage units that includes a storage unit associated with the first rebuilding module.
13 . The processing system of claim 11 , wherein the unfavorable DSN write condition is determined to exist in response to detecting that less than a write threshold number of storage units are available.
14 . The processing system of claim 11 , wherein the unfavorable DSN write condition is determined to exist in response to detecting that an unfavorable number of write locks associated with a rebuilding index are being held.
15 . The processing system of claim 11 , wherein the unfavorable DSN write condition is determined to exist in response to detecting that a DSN storage utilization level is greater than a maximum storage utilization threshold level.
16 . The processing system of claim 11 , wherein issuing the first rebuilding request includes:
generating the first rebuilding request to include a DSN address associated with a storage error of the at least one storage error;
identifying a storage unit of a plurality of storage units associated with the storage error;
determining the storage unit includes a corresponding rebuilding module; and
sending the first rebuilding request to the storage unit.
17 . The processing system of claim 11 , wherein the first rebuilding module facilitates rebuilding of the first encoded data slice associated with the storage error by:
recovering a data segment associated with the storage error;
re-encoding the data segment to produce a rebuilt first encoded data slice; and
storing the rebuilt first encoded data slice in a local memory.
18 . The processing system of claim 11 , wherein the first rebuilding module further:
identifies a second rebuilding module of the DSN associated with the storage error; and
generates a second rebuilding request for transmission to the second rebuilding module that indicates the storage error;
wherein the second rebuilding module facilitates rebuilding of a second encoded data slice associated with the storage error.
19 . The processing system of claim 18 , wherein the second rebuilding module facilitates rebuilding of the second encoded data slice, and further facilitates rebuilding of the first encoded data slice, by:
recovering a data segment associated with the storage error;
re-encoding the data segment to produce a rebuilt first encoded data slice and a rebuilt second encoded data slice;
transmitting the rebuilt first encoded data slice to the first rebuilding module for storage; and
storing the rebuilt second encoded data slice in a local memory.
20 . 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:
detect at least one storage error associated with storage of a data object in the DSN;
determine whether an unfavorable DSN write condition exists; and
issue a first rebuilding request to a first rebuilding module associated with a storage error of the at least one storage errors when the unfavorable DSN write condition is determined to exist;
wherein the first rebuilding module facilitates rebuilding of a first encoded data slice associated with the storage error in response to receiving the first rebuilding request.