mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2025-11-24 16:53:14 +08:00
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.