[ 
https://issues.apache.org/jira/browse/HDDS-13599?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18017854#comment-18017854
 ] 

Sammi Chen edited comment on HDDS-13599 at 9/3/25 8:58 AM:
-----------------------------------------------------------

[~szetszwo] ,  HDDS-13602 adds code internal to 
[DiskBalancerService.java|https://github.com/apache/ozone/pull/8965/files#diff-6a42145a948e71a42c99cbf5148422b190c40d0293baabc88f9ae3a3f2ae83d3]
 to solve the problem, if any follower up Jira which does the refactor and can 
solve the problem completely, we can revert HDDS-13602 after that.  HDDS-13602 
doesn't change any read/write IO path code, so it should not make the 
refactoring any harder or easier. 

Except the chunk read, there is chunk write, besides the KeyValueContainer 
lock,  and there are chunk file lock, shall we remove chunk file lock, using 
KeyValueContainer lock only?  Or we still keep the both KeyValueContainer lock 
and chunk file lock?  If chunk read lock lock the  KeyValueContainer lock, 
shall chunk write lock KeyValueContainer too, read lock or write lock?  
Concurrently impact?  The main concern about the performance is the impact 
caused by concurrency impact/degradation, not the extra lock acquire step 
itself.  There are so many details to investigate and think about, so I think 
it's not a small refactor.  Thoughts? 


was (Author: sammi):
[~szetszwo] ,  HDDS-13602 adds code internal to 
[DiskBalancerService.java|https://github.com/apache/ozone/pull/8965/files#diff-6a42145a948e71a42c99cbf5148422b190c40d0293baabc88f9ae3a3f2ae83d3]
 to solve the problem, if any follower up Jira which does the refactor and can 
solve the problem completely, we can revert HDDS-13602 after that.  HDDS-13602 
doesn't change any read/write IO path code, so it should not make the 
refactoring any harder or easier. 

Except the chunk read, there is chunk write, besides the KeyValueContainer 
lock,  and there are chunk file lock, shall we remove chunk file lock, using 
KeyValueContainer lock only?  Or we still keep the both KeyValueContainer lock 
and chunk file lock?  If chunk read lock lock the  KeyValueContainer lock, 
shall chunk write lock KeyValueContainer too, read lock or write lock?  
Concurrently impact?  The main concern about the performance is the impact 
caused by concurrency impact/degradation, not the extra lock acquire step 
itself.  There are so many details to investigate, so I think it's not a small 
refactor.  Thoughts? 

> Take write Lock of all block files before a container replica directory is 
> deleted
> ----------------------------------------------------------------------------------
>
>                 Key: HDDS-13599
>                 URL: https://issues.apache.org/jira/browse/HDDS-13599
>             Project: Apache Ozone
>          Issue Type: Improvement
>            Reporter: Sammi Chen
>            Priority: Major
>         Attachments: screenshot-1.png
>
>
> To avoid interim read failure caused by block file deleted during container 
> replica directory deletion. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to