[SAP] Improve parallel creation from snapshot/volume#249
Draft
leust wants to merge 1 commit intostable/wallaby-m3from
Draft
[SAP] Improve parallel creation from snapshot/volume#249leust wants to merge 1 commit intostable/wallaby-m3from
leust wants to merge 1 commit intostable/wallaby-m3from
Conversation
The source volume/snapshot was locked while the new volume was creating, preventing other volumes from being created in parallel from the same source. This was to prevent the source from being deleted while the volume is being created from it. We move that lock from the manager upper to the API layer until the volume reaches the 'creating' state, then the lock is released. The delete_snapshot / delete_volume will check the DB if there are volumes creating from it before proceeding with the deletion. The caveat is that, if a volume is stuck in 'creating', it will still prevent the source from being deleted. Change-Id: I8be26242474a2b4eba676978b533f8cad40e292b
|
So the current API is that if the lock is in place, that the delete volume just waits to acquire the lock and doesn't report an error in the API. We should try and maintain that, so there is no change to the API response. |
Author
|
In this case I think is easier to introduce a new API microversion for supporting parallelism in cloning. I don't see a good solution for how to wait for all clone operations to finish, apart from looking into the database, which might lead to inconsistencies. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The source volume/snapshot was locked while the new volume was creating, preventing other volumes from being created in parallel from the same source. This was to prevent the source from being deleted while the volume is being created from it.
We move that lock from the manager upper to the API layer until the volume reaches the 'creating' state, then the lock is released.
The delete_snapshot / delete_volume will check the DB if there are volumes creating from it before proceeding with the deletion.
The caveat is that, if a volume is stuck in 'creating', it will still prevent the source from being deleted.
Change-Id: I8be26242474a2b4eba676978b533f8cad40e292b