Files
seaweedfs/weed
chrislu 751cfac7d7 Implement volume-aware task conflict checking
MAJOR IMPROVEMENT: Tasks now conflict by volume ID, not globally by task type

Changes:
- PRIMARY RULE: Tasks on the same volume ID always conflict (prevents race conditions)
- SECONDARY RULE: Minimal global task type conflicts (currently none)
- Add isDiskAvailableForVolume() for volume-specific availability checking
- Add GetAvailableDisksForVolume() and GetDisksWithEffectiveCapacityForVolume()
- Remove overly restrictive global task type conflicts
- Update planning functions to focus on capacity, not conflicts

Benefits:
 Multiple vacuum tasks can run on different volumes simultaneously
 Balance and erasure coding can run on different volumes
 Still prevents dangerous concurrent operations on same volume
 Much more efficient resource utilization
 Maintains data integrity and prevents race conditions

This addresses the user feedback that task conflicts should be volume-specific,
not global task type restrictions.
2025-08-10 18:02:42 -07:00
..
2025-07-19 23:56:17 -07:00
2025-08-10 02:16:23 -07:00
2025-08-10 14:24:30 -07:00
2024-06-25 09:18:11 -07:00
2025-08-10 15:44:08 -07:00
2024-02-14 08:26:38 -08:00
2025-08-10 16:17:46 -07:00
2025-08-10 17:48:29 -07:00
2025-08-10 17:41:55 -07:00
2025-07-19 21:43:34 -07:00
2025-03-17 23:13:27 -07:00