Feature #59714
openmgr/volumes: Support to reject CephFS clones if cloner threads are not available
0%
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
Updated by Neeraj Pratap Singh about 1 year ago
- Assignee set to Neeraj Pratap Singh
Updated by Venky Shankar about 1 year ago
- Category set to Administration/Usability
- Target version set to v19.0.0
- Backport set to reef,quincy
Updated by Neeraj Pratap Singh 10 months ago
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?
Updated by Kotresh Hiremath Ravishankar 10 months ago
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.
Updated by Neeraj Pratap Singh 10 months ago
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!
Updated by Neeraj Pratap Singh 10 months ago
- Status changed from New to Fix Under Review
- Pull request ID set to 52670
Updated by Neeraj Pratap Singh 9 months ago
@Venky Shankar @Kotresh Hiremath Ravishankar Since, I was on sick leave yesterday. I saw the discussion made on the PR today. Seeing the final comment: https://github.com/ceph/ceph/pull/52670#issuecomment-1685809411 , we are moving ahead with the current way of having a config option but now by default this feature will be enabled will be the change expected.Am I right?
Updated by Venky Shankar 9 months ago
Neeraj Pratap Singh wrote:
@Venky Shankar @Kotresh Hiremath Ravishankar Since, I was on sick leave yesterday. I saw the discussion made on the PR today. Seeing the final comment: https://github.com/ceph/ceph/pull/52670#issuecomment-1685809411 , we are moving ahead with the current way of having a config option but now by default this feature will be enabled will be the change expected.Am I right?
Right.
Updated by Patrick Donnelly 9 months ago
- Related to Fix #62712: pybind/mgr/volumes: implement EAGAIN logic for clearing request queue when under load added
Updated by Venky Shankar 3 months ago
Backport note: additional include commits from https://github.com/ceph/ceph/pull/55660
Updated by Neeraj Pratap Singh 3 months ago
- Status changed from Fix Under Review to Pending Backport
Updated by Backport Bot 3 months ago
- Copied to Backport #64517: quincy: mgr/volumes: Support to reject CephFS clones if cloner threads are not available added
Updated by Backport Bot 3 months ago
- Copied to Backport #64518: reef: mgr/volumes: Support to reject CephFS clones if cloner threads are not available added
Updated by Venky Shankar 3 months ago
Backport note: required additional commits from https://github.com/ceph/ceph/pull/55930
Updated by Venky Shankar 3 months ago
- Tags deleted (
backport_processed) - Backport changed from reef,quincy to reef,quincy,squid
Updated by Backport Bot 3 months ago
- Copied to Backport #64701: squid: mgr/volumes: Support to reject CephFS clones if cloner threads are not available added