Feature #59714
open
mgr/volumes: Support to reject CephFS clones if cloner threads are not available
Added by Neeraj Pratap Singh about 1 year ago.
Updated 3 months ago.
Category:
Administration/Usability
Backport:
reef,quincy,squid
Component(FS):
mgr/volumes
Description
1. CephFS clone creation have a limit of 4 parallel clones at a time and rest
of the clone create requests are queued. This makes CephFS cloning very slow when there is large amount of clones being created.
2. CephCSI/Kubernetes storage does have a mechanism to delete in-progress clones and deletion of corresponding kubernetes object pvc may lead to stale resource.
Due to the above reasons, there are a lot of customer cases with stale cephfs clones.
For detailed discussion: https://bugzilla.redhat.com/show_bug.cgi?id=2196829
- Assignee set to Neeraj Pratap Singh
- Category set to Administration/Usability
- Target version set to v19.0.0
- Backport set to reef,quincy
I am thinking to move ahead with this approach: Allow the cloning only when (pending_clones + in-progress_clones) <= max_concurrent_clones, otherwise return the error EAGAIN.@vshankar, @Kotresh Hiremath Ravishankar?
Neeraj Pratap Singh wrote:
I am thinking to move ahead with this approach: Allow the cloning only when (pending_clones + in-progress_clones) <= max_concurrent_clones, otherwise return the error EAGAIN.@vshankar, @Kotresh Hiremath Ravishankar?
The approach looks correct. I think the condition should be (pending_clones + in-progress-clones) < max_concurrent-clones.
Kotresh Hiremath Ravishankar wrote:
Neeraj Pratap Singh wrote:
I am thinking to move ahead with this approach: Allow the cloning only when (pending_clones + in-progress_clones) <= max_concurrent_clones, otherwise return the error EAGAIN.@vshankar, @Kotresh Hiremath Ravishankar?
The approach looks correct. I think the condition should be (pending_clones + in-progress-clones) < max_concurrent-clones.
Right, it should only be less than. thanks!
- Status changed from New to Fix Under Review
- Pull request ID set to 52670
- Related to Fix #62712: pybind/mgr/volumes: implement EAGAIN logic for clearing request queue when under load added
- Status changed from Fix Under Review to Pending Backport
- Copied to Backport #64517: quincy: mgr/volumes: Support to reject CephFS clones if cloner threads are not available added
- Copied to Backport #64518: reef: mgr/volumes: Support to reject CephFS clones if cloner threads are not available added
- Tags set to backport_processed
- Tags deleted (
backport_processed)
- Backport changed from reef,quincy to reef,quincy,squid
- Copied to Backport #64701: squid: mgr/volumes: Support to reject CephFS clones if cloner threads are not available added
- Tags set to backport_processed
Also available in: Atom
PDF