US-12625768-B2 - Promoting a previous version to roll back a data object
Abstract
A method for execution by one or more computing devices of a storage network includes determining an error condition associated with storage of a current version of a data object that is stored in a set of storage units of the storage network and is stored as a previous version of the data object. The method further includes sending a rollback transaction request message to at least some storage units of the set of storage units, where the at least some storage units are associated with the error condition, and where the rollback transaction request message instructs the at least some storage units to promote the previous version to be a new current version of the data object such that the new current version of the data object is accessible in the storage network.
Inventors
- Andrew Baptist
- Wesley Leggette
- Jason K. Resch
- Manish Motwani
- John Quigley
Assignees
- PURE STORAGE, INC.
Dates
- Publication Date
- 20260512
- Application Date
- 20240903
Claims (18)
- 1 . A method for execution by one or more computing devices of a storage network, the method comprising: error encoding a data object into a plurality of sets of encoded data slices; determining an error condition associated with storage of a current version of the data object that is stored in a set of storage units of the storage network and is stored as a previous version of the data object, wherein the error condition is associated with one or more encoded data slices of a set of encoded data slices of the plurality of sets of encoded data slices; and sending a rollback transaction request message to one or more storage units of the set of storage units, wherein the one or more storage units are associated with the error condition, and wherein the rollback transaction request message instructs the one or more storage units to promote the previous version to be a new current version of the data object such that the new current version of the data object is accessible in the storage network.
- 2 . The method of claim 1 further comprises: instructing the one or more storage units to delete the current version of the data object.
- 3 . The method of claim 1 further comprises: after sending the rollback transaction request message, instructing the one or more storage units to delete the one or more encoded data slices.
- 4 . The method of claim 1 , wherein the error condition comprises the one or more encoded data slices being associated with a locked encoded data slice.
- 5 . The method of claim 1 , wherein the error condition comprises one or more slice names associated with at least one encoded data slices of the one or more that are not stored in the set of storage units.
- 6 . The method of claim 1 , wherein the error condition comprises a transaction error associated with the current version of the data object.
- 7 . The method of claim 1 further comprises: updating a slice status table to indicate the set of encoded data slices are associated with a write-lock status, wherein the write-lock status prevents further modification of the plurality of sets of encoded data slices until the error condition is corrected.
- 8 . The method of claim 1 further comprises: maintaining storage of the current version of the data object until receiving a command from a computing device of the storage network.
- 9 . The method of claim 1 , wherein the error condition comprises: determining, for a write request associated with the data object, that a number of write responses are less than a write threshold number.
- 10 . A computer readable memory comprises: at least one memory element that stores operational instructions that, when executed by one or more computing devices of a storage network, cause the one or more computing devices to: error encode a data object into a plurality of sets of encoded data slices; determine an error condition associated with storage of a current version of the data object that is stored in a set of storage units of the storage network and is stored as a previous version of the data object, wherein the error condition is associated with one or more encoded data slices of a set of encoded data slices of the plurality of sets of encoded data slices; and send a rollback transaction request message to one or more storage units of the set of storage units, wherein the one or more storage units are associated with the error condition, and wherein the rollback transaction request message instructs the one or more storage units to promote the previous version to be a new current version of the data object such that the new current version of the data object is accessible in the storage network.
- 11 . The computer readable memory of claim 10 , wherein the at least one memory element stores further operational instructions that, when executed by the one or more computing devices, cause the one or more computing devices to instruct the one or more storage units to delete the current version of the data object.
- 12 . The computer readable memory of claim 10 , wherein the at least one memory element stores further operational instructions that, when executed by the one or more computing devices, cause the one or more computing devices to: after sending the rollback transaction request message, instruct the one or more storage units to delete the one or more encoded data slices.
- 13 . The computer readable memory of claim 10 , wherein the at least one memory element stores further operational instructions that, when executed by the one or more computing devices, cause the one or more computing devices to determine the error condition includes the one or more encoded data slices being associated with a locked encoded data slice.
- 14 . The computer readable memory of claim 10 , wherein the at least one memory element stores further operational instructions that, when executed by the one or more computing devices, cause the one or more computing devices to determine the error condition includes one or more slice names associated with one or more encoded data slices of the one or more encoded data slices that are not stored in the set of storage units.
- 15 . The computer readable memory of claim 10 , wherein the at least one memory element stores further operational instructions that, when executed by the one or more computing devices, cause the one or more computing devices to determine the error condition includes a transaction error associated with the current version of the data object.
- 16 . The computer readable memory of claim 10 , wherein the at least one memory element stores further operational instructions that, when executed by the one or more computing devices, cause the one or more computing devices to: update a slice status table to indicate the set of encoded data slices are associated with a write-lock status, wherein the write-lock status prevents further modification of the plurality of sets of encoded data slices until the error condition is corrected.
- 17 . The computer readable memory of claim 10 , wherein the at least one memory element stores further operational instructions that, when executed by the one or more computing devices, cause the one or more computing devices to: maintain storage of the current version of the data object until receiving a command from a computing device of the storage network.
- 18 . The computer readable memory of claim 10 , wherein the at least one memory element stores further operational instructions that, when executed by the one or more computing devices, cause the one or more computing devices to determine the error condition exists by: determining, for a write request associated with the data object, that a number of write responses are less than a write threshold number.
Description
CROSS REFERENCE TO RELATED PATENTS The present U.S. Utility Patent Application claims priority pursuant to 35 U.S.C. § 120 as a continuation of U.S. Utility application Ser. No. 18/216,015, entitled “CHECK REQUESTS IN A STORAGE NETWORK,” filed Jun. 29, 2023, allowed, which is a continuation of U.S. Utility application Ser. No. 17/301,783, entitled “VERIFYING REVISION LEVELS WHILE STORING DATA IN A STORAGE NETWORK,” filed Apr. 14, 2021, issued as U.S. Pat. No. 11,726,875 on Aug. 15, 2023, which is a continuation of U.S. Utility application Ser. No. 16/692,472, entitled “STORING DATA IN ACCORDANCE WITH ENCODED DATA SLICE REVISION LEVELS IN A STORAGE NETWORK,” filed Nov. 22, 2019, issued as U.S. Pat. No. 10,997,022 on May 4, 2021, which is a continuation of U.S. Utility application Ser. No. 16/138,753, entitled “STORING DATA IN ACCORDANCE WITH ENCODED DATA SLICE REVISION LEVELS IN A DISPERSED STORAGE NETWORK,” filed Sep. 21, 2018, issued as U.S. Pat. No. 10,503,594 on Dec. 10, 2019, which is a continuation of U.S. Utility application Ser. No. 15/345,309, entitled “STORING DATA IN ACCORDANCE WITH ENCODED DATA SLICE REVISION LEVELS IN A DISPERSED STORAGE NETWORK,” filed Nov. 7, 2016, issued as U.S. Pat. No. 10,146,620 on Dec. 4, 2018, which is a continuation of U.S. Utility application Ser. No. 14/454,942, entitled “STORING DATA IN A DISPERSED STORAGE NETWORK,” filed Aug. 8, 2014, issued as U.S. Pat. No. 9,495,117 on Nov. 15, 2016, which is a continuation-in-part of U.S. Utility application Ser. No. 13/080,431, entitled “READ OPERATION DISPERSED STORAGE NETWORK FRAME,” filed Apr. 5, 2011, issued as U.S. Pat. No. 9,047,242 on Jun. 2, 2015, which claims priority pursuant to 35 U.S.C. § 119(e) to U.S. Provisional Application No. 61/328,000, entitled, “DISPERSED STORAGE SYSTEM ACCESS PROTOCOL FORMAT AND METHOD,” filed Apr. 26, 2010, expired, all of which are incorporated herein by reference in their entirety and made part of the present U.S. Utility Patent Application for all purposes. U.S. Utility patent application Ser. No. 13/080,431 also claims priority pursuant to 35 U.S.C. § 120 as a continuation of U.S. Utility application Ser. No. 13/073,948, entitled, “DISPERSED STORAGE NETWORK FRAME PROTOCOL HEADER,” filed Mar. 28, 2011, issued as U.S. Pat. No. 8,625,635, issued on Jan. 7, 2014, which also claims priority pursuant to 35 U.S.C. § 119(e) to U.S. Provisional Application No. 61/328,000, entitled, “DISPERSED STORAGE SYSTEM ACCESS PROTOCOL FORMAT AND METHOD,” filed Apr. 26, 2010, expired, all of which are incorporated herein by reference in their entirety and made part of the present U.S. Utility Patent Application for all purposes. STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT NOT APPLICABLE INCORPORATION-BY-REFERENCE OF MATERIAL SUBMITTED ON A COMPACT DISC NOT APPLICABLE BACKGROUND OF THE INVENTION Technical Field of the Invention This invention relates generally to computing systems and more particularly to data storage solutions within such computing systems. Description of Related Art Computers are known to communicate, process, and store data. Such computers range from wireless smart phones to data centers that support millions of web searches, stock trades, or on-line purchases every day. In general, a computing system generates data and/or manipulates data from one form into another. For instance, an image sensor of the computing system generates raw picture data and, using an image compression program (e.g., JPEG, MPEG, etc.), the computing system manipulates the raw picture data into a standardized compressed image. With continued advances in processing speed and communication speed, computers are capable of processing real time multimedia data for applications ranging from simple voice communications to streaming high definition video. As such, general-purpose information appliances are replacing purpose-built communications devices (e.g., a telephone). For example, smart phones can support telephony communications but they are also capable of text messaging and accessing the internet to perform functions including email, web browsing, remote applications access, and media communications (e.g., telephony voice, image transfer, music files, video files, real time video streaming. etc.). Each type of computer is constructed and operates in accordance with one or more communication, processing, and storage standards. As a result of standardization and with advances in technology, more and more information content is being converted into digital formats. For example, more digital cameras are now being sold than film cameras, thus producing more digital pictures. As another example, web-based programming is becoming an alternative to over the air television broadcasts and/or cable broadcasts. As further examples, papers, books, video entertainment, home video, etc., are now being stored digitally, which increases the demand on the storage function of computers. A typical computer storage