From 5e0ddbc05aa35ae307406c67d0cea234fb62f7ec Mon Sep 17 00:00:00 2001 From: Dai Ha Date: Thu, 10 Sep 2026 08:51:11 +0700 Subject: [PATCH] Features: exhaustionDetectionArmed is not trustworthy after a reload (#404) --- 11-Features.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/11-Features.md b/11-Features.md index 91f434b..c42f1fa 100644 --- a/11-Features.md +++ b/11-Features.md @@ -4819,6 +4819,12 @@ subscription is the thing that actually runs out. - **Armed is not correct.** `exhaustionDetectionArmed: true` means a pattern is configured, not that it matches what this backend prints. A wrong pattern reports as armed. +- **After a reload, the field lies — fleetd #404, open.** `exhaustedPattern` is a **deferred** key: + the patterns are compiled once into a map at startup and a reload never re-reads them. The field + reads the *live* config instead. So if you add a pattern to `fleetd.yaml` and reload, the field + flips to `true` while detection stays off until the daemon restarts. Until #404 lands, trust the + field only on a freshly started daemon, and **restart after editing `exhaustedPattern`** — the + reload report is the honest door here, and it names `profiles` as needing a restart. - **`errorPattern` has the same opt-in shape** and is not covered by this report. It is less severe: with none set, the code falls back to a narrow built-in pattern rather than going inert. - **The startup call site is not pinned by a test.** Deleting `reportExhaustedPatternGap(cfg)` from