Bug #7024
closedAccepting two nodes seems to only accept one
Description
I tried to accept two nodes at once.
Both appears in the "history" panel as "accepted". But only one is displayed in the list of node.
Clear cache make the second node appears. Most likelly, adding a new inventory for the missing node will resolve the issue to (but can't have been tested).
==> cache for node should have been invalidated but wasn't. It may be due to the timing (race condition) between the time when we look is new nodes appeared and when we invalidate the cache (ie: "ho, ONE new node ! Clear Cache ; [here the second node appears] ; update the time of last clean cache" => second node never seen.
The bug was discovered in 3.1, but it must be in 3.0 to.
Note: it is not always reproducible, so likelly to be some race condition.
Updated by Alexis Mousset over 9 years ago
- Has duplicate Bug #6838: Node list cache is not always correctly updated when accepting nodes added
Updated by Vincent MEMBRÉ over 9 years ago
- Target version changed from 3.0.8 to 3.0.9
Updated by Alexis Mousset about 9 years ago
- Has duplicate Bug #7125: When accepting several nodes at the same time, only one is accepted added
Updated by François ARMAND about 9 years ago
- Subject changed from Cache invalidation logic for node acceptation is broken to Accepting two nodes seems to only accept one
- Description updated (diff)
Updated by François ARMAND about 9 years ago
For the race condition, I'm betting on some flawed logic along the line:
Expected:
- accept-node
- cache is-up to date ?
- => no: update cache
- save update date time
- accept-node
- cache is-up to date ?
- => no: update cache
- save update date time
Actual:
- accept-node
- cache is-up to date ?
- => no: update cache
- accept-node
- save update date time
- cache is-up to date ?
- yes, because nothing since save update date.
Ah, atomicity is hard.
Updated by Vincent MEMBRÉ about 9 years ago
- Target version changed from 3.0.9 to 3.0.10
Updated by Vincent MEMBRÉ about 9 years ago
- Target version changed from 3.0.10 to 3.0.11
Updated by Vincent MEMBRÉ about 9 years ago
- Target version changed from 3.0.11 to 3.0.12
Updated by François ARMAND about 9 years ago
- Status changed from New to In progress
Updated by François ARMAND about 9 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/943
Updated by François ARMAND about 9 years ago
- Status changed from Pending technical review to Pending release
- % Done changed from 0 to 100
Applied in changeset rudder|843d771ef3d3977a3dbacc3a9cab7e89ecb8291c.
Updated by Nicolas CHARLES about 9 years ago
Applied in changeset rudder|bca2abbc3c112c0c7083bb7c183b409f153ad10f.
Updated by Vincent MEMBRÉ almost 9 years ago
- Status changed from Pending release to Released
This bug has been fixed in Rudder 3.0.12 and 3.1.5 which were released today.
- 3.0: Announce Changelog
- 3.1: Announce Changelog
- Download: https://www.rudder-project.org/site/get-rudder/downloads/
Updated by Nicolas CHARLES almost 9 years ago
- Related to Bug #7689: Error on promise generation after accepting a node added
Updated by Nicolas CHARLES almost 9 years ago
- Related to deleted (Bug #7689: Error on promise generation after accepting a node)