Architecture #25311
closedArchitecture #24963: Persist compliance in base to know last state for a long time
Remove expected reports from NodeStatusReport
Description
The NodeStatusReport
object as a field that contains the run analysis: what configuration it should match, if we did get a run, if we did does the run match the expected configuration id, etc.
Today, that run analysis part contains the exepected reports of the expected configuration and of the run configuration. ExpectedReports is a huge and complicated structure, and so here we have it, for each node:
- in a dedicated cache in NodeConfigurationService
,
- in a (big) database table : nodeconfigurations
- one or two more time in the node NodeStatusReport
in cache.
And we don't seems to use the one(s) in NodeStatusReport
once the computation of compliance in ExecutionBatch
is done.
Since we want to persist NodeStatusReport
in database, it looks like we should remove ExpectedReports
from it first and avoid the json codec pain (it already exists, but it still add complexity) and the memory, I/O, and base size.
Updated by François ARMAND 4 months ago
- Status changed from In progress to Pending technical review
- Assignee changed from François ARMAND to Clark ANDRIANASOLO
- Pull Request set to https://github.com/Normation/rudder/pull/5853
Updated by Anonymous 4 months ago
- Status changed from Pending technical review to Pending release
Applied in changeset rudder|f9abca367430bbbc6cb8fb21400758a444afe01a.
Updated by Vincent MEMBRÉ 3 months ago
- Status changed from Pending release to Released
This bug has been fixed in Rudder 8.2.0~beta1 which was released today.