liangyepianzhou opened a new issue, #4655: URL: https://github.com/apache/bookkeeper/issues/4655
## Problem Description When a single ledger disk becomes full, `suspendMajorGC()`/`suspendMinorGC()` pauses garbage collection (GC) for **all disks**. However, a single disk failure should not affect GC operations on other disks. Two scenarios are discussed: - **Normal case**: Data is evenly distributed across ledger disks. When all disks are nearly full and one disk fills first. - **Abnormal case**: Individual disk usage spikes due to write skew or data cleanup anomalies. For the normal case: Disabling GC only on the full ledger disk first, then waiting for the next check (default `diskCheckInterval=10000` ms) to disable GC on other disks causes no harm. For uneven storage distribution: Disabling GC on all ledger disks affects normal operations of other disks. ## Solution 1. Add a new configuration to control whether to stop GC on other disks when any single disk becomes full. 2. When `isReadOnlyModeOnAnyDiskFullEnabled == true`, stop GC on other disks. Otherwise, other disks should continue normal operations without GC suspension. 3. When a single disk becomes full, only stop GC for that specific disk. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
