Project

General

Profile

Bug #8424

When updating runs, hooks should really be async

Added by François ARMAND almost 5 years ago. Updated over 4 years ago.

Status:
Released
Priority:
2
Category:
Web - Compliance & node report
Target version:
Severity:
User visibility:
Effort required:
Priority:

Description

We have a task in Rudder that periodically looks to new ruddersysevents and from that, marks agent run as completed. That task also calls several hooks (for now, two: one to update cache for recent changes, one other to update compliance).

These hooks were asynchrone until http://www.rudder-project.org/redmine/issues/8051. But with that ticket, we completelly removed the async calls, because we weren't sure what was the cause of the strange thread lock we were seing.

But that lead to very predictible problems: if one of the hooks, for example update change caches (see #8423), is taking a lot of time, then runs are not correctly marked as completed, and apocalypse ensues.
We will most likelly have case were one of the hook will take a lot of time.

So we need to build a robust, consistant, correct async hook executor that is not subject to the problem in #8051 but let hooks take their time if needed, without breaking everything.


Related issues

Related to Rudder - Bug #8051: Compliance is not correctly computed if we receive run agent right after generationReleasedNicolas CHARLES2016-05-19Actions
Related to Rudder - Bug #8423: When updating a Rudder install, changes_executionTimeStamp_idx index is not createdReleasedFrançois ARMAND2016-06-02Actions
#1

Updated by François ARMAND almost 5 years ago

  • Related to Bug #8051: Compliance is not correctly computed if we receive run agent right after generation added
#2

Updated by François ARMAND almost 5 years ago

  • Related to Bug #8423: When updating a Rudder install, changes_executionTimeStamp_idx index is not created added
#3

Updated by Nicolas CHARLES over 4 years ago

  • Status changed from New to In progress
  • Assignee set to Nicolas CHARLES
#4

Updated by Nicolas CHARLES over 4 years ago

  • Status changed from In progress to Pending technical review
  • Assignee changed from Nicolas CHARLES to Benoît PECCATTE
  • Pull Request set to https://github.com/Normation/rudder-packages/pull/957
#5

Updated by Nicolas CHARLES over 4 years ago

  • Status changed from Pending technical review to New
  • Assignee changed from Benoît PECCATTE to François ARMAND
  • Pull Request deleted (https://github.com/Normation/rudder-packages/pull/957)

Oops, typo in rudder-dev

#6

Updated by François ARMAND over 4 years ago

  • Status changed from New to In progress
#7

Updated by François ARMAND over 4 years ago

  • Status changed from In progress to Pending technical review
  • Assignee changed from François ARMAND to Nicolas CHARLES
  • Pull Request set to https://github.com/Normation/rudder/pull/1111
#8

Updated by Vincent MEMBRÉ over 4 years ago

  • Target version changed from 3.0.17 to 2.11.23
#9

Updated by Vincent MEMBRÉ over 4 years ago

  • Target version changed from 2.11.23 to 302
#10

Updated by Alexis MOUSSET over 4 years ago

  • Target version changed from 302 to 3.1.12
#11

Updated by François ARMAND over 4 years ago

  • Assignee changed from Nicolas CHARLES to Benoît PECCATTE
  • Pull Request changed from https://github.com/Normation/rudder/pull/1111 to https://github.com/Normation/rudder/pull/1127
#12

Updated by François ARMAND over 4 years ago

  • Status changed from Pending technical review to Pending release
  • % Done changed from 0 to 100
#13

Updated by Alexis MOUSSET over 4 years ago

  • Status changed from Pending release to Released

This bug has been fixed in Rudder 3.1.12 and 3.2.5 which were released today.

Also available in: Atom PDF