Project

General

Profile

Actions

Bug #20758

closed

Improve group node computation

Added by Nicolas CHARLES almost 3 years ago. Updated 8 months ago.

Status:
Released
Priority:
N/A
Category:
Performance and scalability
Target version:
Severity:
UX impact:
User visibility:
Effort required:
Priority:
0
Name check:
To do
Fix check:
Checked
Regression:

Description

As a follow up of #20716, we could improve the code lisibility by:
  • not having the `internalQueryProcessor` return a NodeInfo, but only NodeId. The overall cost of managing NodeInfo is tremendous in creating Sets
  • so rather than having a `nodeInfoFiltered`, we could have `nodeIdFiltered`
    • This is only possible in 7.0 and + because in branch 6.2 it still need the ServerRole postfilter
  • in PostFilterNodeFromInfoService we can have a faster "toSet" for the OR composition by mapping to nodeId only
  • and `foundNodeInfos` could be a Seq rather than a Set (an make the toSet on the foundNodeInfos.map(_.nodeId) )
  • and so the results in internalQueryProcessor can also be a Seq

The drawback is only for the SearchNodeComponent: it will have to explore back the cache with the list of nodeId to get the result

The overall cost a doing a toSet on collection of NodeInfo is very expensive


Subtasks 1 (0 open1 closed)

Datasources - Bug #21514: Correct tests in datasourcesReleasedAlexis MoussetActions

Related issues 1 (0 open1 closed)

Related to Rudder - Bug #20716: Improve dynamic group computation speed and fix inverted searchedReleasedFrançois ARMANDActions
Actions #1

Updated by Nicolas CHARLES almost 3 years ago

  • Related to Bug #20716: Improve dynamic group computation speed and fix inverted searched added
Actions #2

Updated by Nicolas CHARLES almost 3 years ago

  • Status changed from New to In progress
  • Assignee set to Nicolas CHARLES
  • Pull Request set to https://github.com/Normation/rudder/pull/4172
Actions #3

Updated by Vincent MEMBRÉ almost 3 years ago

  • Target version changed from 7.0.1 to 7.0.2
Actions #4

Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 7.0.2 to 7.0.3
Actions #5

Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 7.0.3 to 7.0.4
Actions #6

Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 7.0.4 to 7.0.5
Actions #7

Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 7.0.5 to 7.0.6
Actions #8

Updated by Nicolas CHARLES over 2 years ago

  • Status changed from In progress to Pending release
Actions #9

Updated by François ARMAND over 2 years ago

  • Subtask #21513 added
Actions #10

Updated by François ARMAND over 2 years ago

  • Subtask #21514 added
Actions #11

Updated by Alexis Mousset about 2 years ago

  • Fix check changed from To do to Checked
Actions #12

Updated by Vincent MEMBRÉ about 2 years ago

This bug has been fixed in Rudder 7.0.6 and 7.1.4 which were released today.

Actions #13

Updated by Vincent MEMBRÉ 8 months ago

  • Status changed from Pending release to Released
Actions

Also available in: Atom PDF