Bug #20310
closedMethod getByRulesCompliance used by API is highly inefficient
Description
It starts by computing the targets of all groups, and then creates a map of ruleId -> computed-targets-of-said-rules with no answer as a compliance (A)
Then it construct for each rules the ByRuleRuleCompliance (B), but in there it- construct a map of ComponentName, Seq[NodeId, ComponentStatusReports]
- use this map to convert to Seq of ByRuleComponentCompliance (without using the map property, could have been a seq)
- and in the conversion, it converts a List[NodeId, ValueReports] to a Map[NodeId, List[NodeId, ValueReports]], where it sorts the list by componentName, then takes the value of them, rather than using lightweight version of the list
finally, it concatenates A and B
I'm quite convinced that nothing from A remains after this operation
Updated by Nicolas CHARLES almost 3 years ago
- Status changed from New to In progress
Updated by Nicolas CHARLES almost 3 years ago
- Status changed from In progress to Pending technical review
- Assignee changed from Nicolas CHARLES to François ARMAND
- Pull Request set to https://github.com/Normation/rudder/pull/4017
Updated by Nicolas CHARLES almost 3 years ago
- Status changed from Pending technical review to Pending release
Applied in changeset rudder|66ad4a87c305ca7735070457792c380359ccc850.
Updated by Nicolas CHARLES almost 3 years ago
Applied in changeset rudder|66ad4a87c305ca7735070457792c380359ccc850.
Updated by Nicolas CHARLES almost 3 years ago
Applied in changeset rudder|66ad4a87c305ca7735070457792c380359ccc850.
Updated by Nicolas CHARLES almost 3 years ago
Applied in changeset rudder|39dcc906c08795b62cfd905e73d705f35fda91fa.
Updated by Nicolas CHARLES almost 3 years ago
Applied in changeset rudder|74eaed5f3a7af62e56ca47b038f32eb683eb4dd7.
Updated by Nicolas CHARLES almost 3 years ago
Applied in changeset rudder|e8d848f063f8956c9a5b6fd83388b5f9d97dba24.
Updated by Nicolas CHARLES almost 3 years ago
Applied in changeset rudder|d6cb387d75e27d309932c6a32050d8dd7d89efc5.
Updated by Vincent MEMBRÉ almost 3 years ago
- Related to Bug #20311: error in compliance computation from the API in 7.0 added
Updated by François ARMAND almost 3 years ago
- Fix check changed from To do to Checked
Updated by Vincent MEMBRÉ almost 3 years ago
- Status changed from Pending release to Released
This bug has been fixed in Rudder 6.1.18, 6.2.12 and 7.0.0~rc2 which were released today.