During startup, SonarQube looks for rules that have been removed (from a plugin - or when a plugin has completely been removed) and for each rule, it does some actions:
- tag the rule as "REMOVED"
- searches for the quality profiles impacted by this removal and updates them
This process can be optimized, most notably to reduce the amount of SQL requests (e.g.: it currently reloads all the profiles for every removed rule).