Bug #8424
closedWhen updating runs, hooks should really be async
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.
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
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
Updated by Nicolas CHARLES over 8 years ago
- Status changed from New to In progress
- Assignee set to Nicolas CHARLES
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
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
Updated by François ARMAND over 8 years ago
- Status changed from New to In progress
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
Updated by Vincent MEMBRÉ over 8 years ago
- Target version changed from 3.0.17 to 2.11.23
Updated by Vincent MEMBRÉ over 8 years ago
- Target version changed from 2.11.23 to 302
Updated by Alexis Mousset over 8 years ago
- Target version changed from 302 to 3.1.12
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
Updated by François ARMAND over 8 years ago
- Status changed from Pending technical review to Pending release
- % Done changed from 0 to 100
Applied in changeset rudder|cf1525622043687da66a11c4543a085f639f54e5.
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.
- 3.1: Announce Changelog
- 3.2: Announce Changelog
- Download: https://www.rudder-project.org/site/get-rudder/downloads/