Skip to content
This repository has been archived by the owner on Mar 26, 2020. It is now read-only.

Concurrency support for dynamic Volume create API #998

Open
aravindavk opened this issue Jul 12, 2018 · 2 comments
Open

Concurrency support for dynamic Volume create API #998

aravindavk opened this issue Jul 12, 2018 · 2 comments

Comments

@aravindavk
Copy link
Member

Problem:

Volume create API requests holds lock on Volume name till the transaction complete. If bricks auto provisioning is enabled then parallel Volume create requests can choose same device and one request will fail if the space is not available during transaction.

Possible solution:

  • Before choosing the devices for creating the brick, hold lock on all devices.
  • Once the devices are selected, device available size will be updated by subtracting the to be allocated space. Along with this update, set a dirty flag with Volume name as identifier. Release lock on all devices after this(All the steps under the lock are in-memory or reading etcd data)
  • On success Transaction, remove dirty flag(with lock).
  • If Rollback is triggered, add available space again and clear dirty flag(with lock).
@aravindavk aravindavk added FW: Volume Management GCS/1.0 Issue is blocker for Gluster for Container Storage FW: Device Management labels Jul 12, 2018
@aravindavk
Copy link
Member Author

Issue #851 is split into multiple issues. This is one among them

@aravindavk aravindavk added this to the GCS-beta0 milestone Sep 27, 2018
@aravindavk aravindavk self-assigned this Sep 27, 2018
@JohnStrunk JohnStrunk removed this from the GCS-beta0 milestone Oct 3, 2018
@atinmu atinmu removed the GCS/1.0 Issue is blocker for Gluster for Container Storage label Jan 17, 2019
@atinmu
Copy link
Contributor

atinmu commented Jan 17, 2019

Not considered to be a blocker for GCS/1.0 based on the revised MVP.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants