Project

General

Profile

Bug #13878

Updated by Loïc Dachary about 8 years ago

Creating an EC pool also creates a custom crush rule for it; tier.cc creates and destroys the pool, but leaves behind the crush rule; with repeated runs, this can get to overflowing the crush rule table (256 entries) fairly quickly and cause a confusing failure, including a backtrace on a Lock of a null mutex (probably a second bug). 

 Make destroy_one_ec_pool* also remove the crush rule. 

 Another side effect of having too many ruleset is that injecting the crushmap into the mon will timeout. The crushmap validation happens in the mon by calling crushtool. If it does not return within mon_lease seconds, it is interrupted. If it was not interrupted the mon would be perceived as unresponsive by the other mons and that would trigger an election, which is not the desired outcome. 

Back