Project

General

Profile

Actions

Bug #8424

closed

When updating runs, hooks should really be async

Added by François ARMAND over 8 years ago. Updated over 8 years ago.

Status:
Released
Priority:
2
Category:
Web - Compliance & node report
Target version:
Severity:
UX impact:
User visibility:
Effort required:
Priority:
Name check:
Fix check:
Regression:

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 2 (0 open2 closed)

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
Actions #1

Updated by François ARMAND over 8 years ago

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

Updated by François ARMAND over 8 years ago

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

Updated by Nicolas CHARLES over 8 years ago

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

Updated by Nicolas CHARLES over 8 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
Actions #5

Updated by Nicolas CHARLES over 8 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

Actions #6

Updated by François ARMAND over 8 years ago

  • Status changed from New to In progress
Actions #7

Updated by François ARMAND over 8 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
Actions #8

Updated by Vincent MEMBRÉ over 8 years ago

  • Target version changed from 3.0.17 to 2.11.23
Actions #9

Updated by Vincent MEMBRÉ over 8 years ago

  • Target version changed from 2.11.23 to 302
Actions #10

Updated by Alexis Mousset over 8 years ago

  • Target version changed from 302 to 3.1.12
Actions #11

Updated by François ARMAND over 8 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
Actions #12

Updated by François ARMAND over 8 years ago

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

Updated by Alexis Mousset over 8 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.

Actions

Also available in: Atom PDF