mirror of
https://github.com/fleetdm/fleet
synced 2026-05-06 06:48:54 +00:00
Fixes #31173 Reproduced and fixed in loadtest environment. Uncovered another source of deadlocks, filed as a separate: https://github.com/fleetdm/fleet/issues/32201 - Also, still seeing some deadlocks (a lot fewer) in DB, and they are hidden from the API results by retries. They may still be happening because locks happen row by row and not all at once. A potential fix would be to lock the whole policy_membership table. Additional frontend fix, which is needed to prevent potential timeouts: https://github.com/fleetdm/fleet/pull/32212 Backend + frontend fix should be a sufficient fix for this issue (ignoring the issue with the long software transaction). Also, this PR contains some refactoring to split out the 1-host use case. # Checklist for submitter If some of the following don't apply, delete the relevant line. - [x] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. ## Testing - [x] QA'd all new/changed functionality manually <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * Bug Fixes * Resolved rare deadlocks during concurrent policy updates and bulk automations. * Correctly clears stale MDM data and actions on host re-enrollment and platform changes. * Performance Improvements * Optimized policy issue recalculation with per-host updates to reduce contention. * Improved concurrency handling for bulk policy updates to avoid lock contention. * Reliability * More robust host enrollment: updates seen time, display name, and label membership consistently. * Ensures accurate policy-issue counts after membership changes and re-enrollment. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
1 line
69 B
Text
1 line
69 B
Text
Fix deadlocks when updating automations for 10+ policies at one time
|