Project

General

Profile

Actions

Bug #61867

open

mgr/volumes: async threads should periodically check for work

Added by Venky Shankar 10 months ago. Updated 9 months ago.

Status:
Fix Under Review
Priority:
Normal
Assignee:
Category:
Administration/Usability
Target version:
% Done:

0%

Source:
Tags:
Backport:
reef,quincy,pacific
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Component(FS):
mgr/volumes
Labels (FS):
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Right now:

                    while True:
                        if self.should_reconfigure_num_threads():
                        log.info("thread [{0}] terminating due to reconfigure".format(thread_name))
                            self.async_job.threads.remove(self)
                            return
            vol_job = self.async_job.get_job()
            if vol_job:
                            break
            self.async_job.cv.wait()

If there is no work, then just wait - which is fine since this was written with the assumption that another thread would queue a "work" and then kick the async thread(s). But lately, we ran into a situation where the work had to be queued "manually" by dropping directories into `/volumes/_deleting`. This requires failing ceph-mgr. Adding a timeout argument to periodically check for available work would be beneficial.

Actions #1

Updated by Venky Shankar 10 months ago

  • Assignee set to Manish Yathnalli
Actions #2

Updated by Venky Shankar 9 months ago

  • Status changed from New to Fix Under Review
  • Assignee changed from Manish Yathnalli to Venky Shankar
  • Pull request ID set to 52892
Actions

Also available in: Atom PDF