Feature #61866
openMDSMonitor: require --yes-i-really-mean-it when failing an MDS with MDS_HEALTH_TRIM or MDS_HEALTH_CACHE_OVERSIZED health warnings
0%
Description
If an MDS is already having issues with getting behind on trimming its journal or an oversized cache, restarting it may only create new problems with very slow recovery. In particular, if the MDS gets very behind on trimming its journal with 1M or more segments, replay can take hours or longer.
We already track these warnings in MDSMonitor so do a simple check to help the operator or support folks not shoot themselves in the foot.
Updated by Venky Shankar 10 months ago
- Category set to Administration/Usability
- Assignee set to Manish Yathnalli
Updated by Venky Shankar 8 months ago
- Priority changed from Urgent to Immediate
Manish, please take this one on prio.
Updated by Manish Yathnalli 8 months ago
- Status changed from New to In Progress
I will take a look Venky.
Updated by Venky Shankar 2 months ago
- Assignee changed from Manish Yathnalli to Venky Shankar
- Backport changed from reef,quincy,pacific to reef,quincy
Updated by Venky Shankar about 2 months ago
- Assignee changed from Venky Shankar to Rishabh Dave
Rishabh, please take this one.
Updated by Patrick Donnelly about 2 months ago
- Status changed from In Progress to Fix Under Review
- Pull request ID set to 56066
Updated by Rishabh Dave 16 days ago
Patrick, should we include other health warnings too? I didn't include it in PR because it was mentioned on this ticket. Since Venky too brought this up here, I think it's worth discussing and writing a fix for it.
Copying Venky's comment below -
What about other health warnings? enum mds_metric_t { MDS_HEALTH_NULL = 0, MDS_HEALTH_TRIM, MDS_HEALTH_CLIENT_RECALL, MDS_HEALTH_CLIENT_LATE_RELEASE, MDS_HEALTH_CLIENT_RECALL_MANY, MDS_HEALTH_CLIENT_LATE_RELEASE_MANY, MDS_HEALTH_CLIENT_OLDEST_TID, MDS_HEALTH_CLIENT_OLDEST_TID_MANY, MDS_HEALTH_DAMAGE, MDS_HEALTH_READ_ONLY, MDS_HEALTH_SLOW_REQUEST, MDS_HEALTH_CACHE_OVERSIZED, MDS_HEALTH_SLOW_METADATA_IO, MDS_HEALTH_CLIENTS_LAGGY, MDS_HEALTH_CLIENTS_LAGGY_MANY, MDS_HEALTH_DUMMY, // not a real health warning, for testing }; Esp, MDS_HEALTH_SLOW_REQUEST - where the MDS could probably running close to its limits.
Updated by Patrick Donnelly 1 day ago
Rishabh Dave wrote in #note-7:
Patrick, should we include other health warnings too? I didn't include it in PR because it was mentioned on this ticket. Since Venky too brought this up here, I think it's worth discussing and writing a fix for it.
Copying Venky's comment below -
[...]
So far as we know, the two main culprits for slow recovery are the ones included in your PR. That is our main concern with gating mds failover. I don't see a strong argument to include the others at this time.