slfan1989 opened a new pull request, #10333: URL: https://github.com/apache/ozone/pull/10333
## What changes were proposed in this pull request? This PR updates DiskBalancer delta size tracking to use atomic map updates. DiskBalancer uses `deltaSizes` to track scheduled bytes per source volume. Previously, some updates were done with separate read and write operations, such as `getOrDefault(...)` followed by `put(...)`. These operations are not atomic, so concurrent DiskBalancer tasks updating the same source volume could overwrite each other and leave an incorrect delta size. This change introduces helper methods to reserve and release delta size using `ConcurrentHashMap.compute(...)`, so each per-volume update is applied atomically. It also removes zero-value entries after the reserved bytes are fully released. A unit test is added to cover concurrent task completion and verify that the delta size is restored correctly. ## What is the link to the Apache JIRA JIRA: HDDS-15346. DiskBalancer should update delta sizes atomically. ## How was this patch tested? Added unit test. -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
