Project

General

Profile

Actions

Bug #19399

closed

Improve NodeInfo cache

Added by Nicolas CHARLES almost 3 years ago. Updated over 2 years 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

When any information in LDAP about node is updated, the whole NodeInfo cache is invalidated - it's not a problem on small instances, or when there are no node properties, but on large systems with a lot of node properties, it can take more than 6 seconds, which locks virtually everything related to nodes.

Other symptoms are:
- LDAP using a lot of CPU,
- LDAP timeout in webapp logs.

We store the last modification date and all the ldap related objects, so a better strategy would be to:
  1. check if there are entries with a newer modification date
  2. if so, fetch all entries with the newer modification date
  3. construct the new nodeinfo from these entries, completing with the cache for what's missing
  4. replacing within the cache the updated entries

Subtasks 1 (0 open1 closed)

Bug #19466: upmerge of parent ticket is inefficientReleasedFrançois ARMANDActions

Related issues 1 (0 open1 closed)

Related to Rudder - Bug #19369: Improve computation of cache in NodeInfoServiceRejectedFrançois ARMANDActions
Actions #1

Updated by Nicolas CHARLES almost 3 years ago

  • Status changed from New to In progress
Actions #2

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/3668
Actions #3

Updated by Nicolas CHARLES almost 3 years ago

With this change, on our test platform, updating the NodeInfo cache when properties are updated goes from 1+ second to ~45ms

Actions #4

Updated by Nicolas CHARLES almost 3 years ago

  • Status changed from Pending technical review to Pending release
Actions #12

Updated by Nicolas CHARLES almost 3 years ago

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

Updated by Vincent MEMBRÉ almost 3 years ago

This bug has been fixed in Rudder 6.1.14 and 6.2.8 which were released today.

Actions #14

Updated by Vincent MEMBRÉ almost 3 years ago

  • Status changed from Pending release to Released
Actions #15

Updated by François ARMAND over 2 years ago

  • Related to Bug #19369: Improve computation of cache in NodeInfoService added
Actions #16

Updated by François ARMAND over 2 years ago

  • Description updated (diff)
Actions

Also available in: Atom PDF