Dataset image creation and failure cleanup
An application may store data to a dataset comprising a plurality of volumes stored on a plurality of storage systems. The application may request a dataset image of the dataset, the dataset image comprising a volume image of each volume of the dataset. A dataset image manager operates with a plurality of volume image managers in parallel to produce the dataset image, each volume image manager executing on a storage system. The plurality of volume image managers respond by performing requested operations and sending responses to the dataset image manager in parallel. Each volume image manager on a storage system may manage and produce a volume image for each volume of the dataset stored to the storage system. If a volume image for any volume of the dataset fails, or a timeout period expires, a cleanup procedure is performed to delete any successful volume images.
1. A computing device, comprising:
a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method; and
a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to perform the method comprising:
identifying a storage system that stores a dataset;
receiving a start request from an application for producing a dataset image of the dataset;
sending a resume response to the application in response to receiving the start request;
sending a commit request to the storage system for producing a storage object image of a storage object of the dataset;
receiving a commit response from the storage system indicating whether producing the storage object image is a success or failure; and
determining that production of the dataset image of the dataset is a success based upon the commit response.
2. The computing device of claim 1 , wherein the machine executable code causes the processor to perform the method comprising:
monitoring a timeout period comprising a maximum amount of time permitted for producing the dataset image.
3. The computing device of claim 2 , wherein the machine executable code causes the processor to perform the method comprising:
initiating a cleanup procedure for deleting one or more storage object images based upon the timeout period expiring.
4. The computing device of claim 1 , wherein the machine executable code causes the processor to perform the method comprising:
producing an operation identifier (ID) for the dataset image.
5. The computing device of claim 1 , wherein the application is configured for resuming operations and sending one or more commit requests to a dataset image manager engine after receiving the resume response.
6. The computing device of claim 4 , wherein
the operation ID represents an overall dataset image operation for producing the dataset image for the dataset.
7. The computing device of claim 1 , wherein the machine executable code causes the processor to perform the method comprising:
performing operations with multiple storage systems in parallel for producing the dataset image.
8. A non-transitory computer readable medium having instructions stored thereon, the non-transitory computer readable medium comprising instructions for:
identifying a storage system that stores a dataset;
receiving a start request from an application for producing a datasat image of the dataset;
sending a resume response to the application in response to receiving the start request;
sending a commit request to the storage system for producing a storage object image of a storage object of the dataset;
receiving a commit response from the storage system indicating whether producing the storage object image is a success or failure; and
determining that production of the dataset image of the dataset is a failure based upon the commit response.
9. The non-transitory computer readable medium of claim 8 , wherein the instructions further provide for:
monitoring a timeout period comprising a maximum amount of time permitted for producing the dataset image.
10. The non-transitory computer readable medium of claim 8 , wherein the instructions further provide for:
initiating a cleanup procedure for deleting one or more storage object images.
11. The non-transitory computer readable medium of claim 8 , wherein the instructions further provide for
producing an operation identifier (ID) for the dataset image.
12. The non-transitory computer readable medium of claim 8 , wherein the application is configured for resuming operations after receiving the resume response.
13. The non-transitory computer readable medium of claim 8 , wherein
the operation ID represents an overall dataset image operation for producing the dataset image for the dataset.
14. The non-transitory computer readable medium of claim 8 , wherein the instructions further provide for:
performing operations with multiple storage systems in parallel for producing the dataset image.
15. A method, comprising:
identifying a storage system that stores a dataset;
receiving a start request from an application for producing a dataset image of the dataset;
sending a resume response to the application in response to receiving the start request;
sending a commit request to a storage system;
receiving a commit response from the storage system;
determining that production of the dataset image of the dataset is a failure based upon the commit response; and
initiating, based upon the failure, a cleanup procedure for deleting one or more storage object images.
16. The method of claim 15 , further comprising:
monitoring a timeout period comprising a maximum amount of time permitted for producing the dataset image.
17. The method of claim 15 , wherein initiating the cleanup procedure comprises sending a cleanup request to the storage system.
18. The method of claim 15 , further comprising
producing an operation identifier (ID) for the dataset image.
19. The method of claim 15 , wherein the application is configured for resuming operations after receiving the resume response.
20. The method of claim 18 , wherein
the operation ID represents an overall dataset image operation for producing the dataset image for the dataset.