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]

Reply via email to