In the case of creating a ParallelPGMapper object after
starting the threadpool the test case might crash.
The test case is crash while worker thread is trying to
delete a job but the object is still in the construction phase
not fully constructed.
Solution: To avoid a crash create the object before start
a threadpool.
Fixes: https://tracker.ceph.com/issues/42884
Signed-off-by: Mohit Agrawal <moagrawa@redhat.com>
(cherry picked from commit
d17efaf388bc20f0d72bb4a9a4b17d4281779f69)
int cpu_num = 8;
int pgs_per_chunk = 256;
ThreadPool tp(cct, "BUG_40104::clean_upmap_tp", "clean_upmap_tp", cpu_num);
- tp.start();
ParallelPGMapper mapper(cct, &tp);
+ tp.start();
vector<pg_t> pgs_to_check;
om.get_upmap_pgs(&pgs_to_check);
OSDMonitor::CleanUpmapJob job(cct, om, pending_inc);