hemantk-12 opened a new pull request, #6026:
URL: https://github.com/apache/ozone/pull/6026

   ## What changes were proposed in this pull request?
   There is a deadlock between checkpointing creation for Bootstrapping and 
RocksDBCheckpointDiffer#pruneSstFiles.
   
   Bootstrapping takes the BootstrapStateHandler#lock before checkpointing 
creation and then takes lock on RocksDBCheckpointDiffer instance to unpause the 
compaction thread/s. On the other hand RocksDBCheckpointDiffer#pruneSstFiles is 
synchronized function which first takes lock on RocksDBCheckpointDiffer 
instance and takes BootstrapStateHandler#lock before removing any files.
   Hence both threads, checkpointing creation for Bootstrapping and 
pruneSstFiles background task, are blocking each other.
   
   In this change, synchronized block to notify RocksDBCheckpointDiffer to 
unpause the compaction has been removed. Now heckpointing creation for 
Bootstrapping and pruneSstFiles background  threads won't block each other.
   
   ## What is the link to the Apache JIRA
   HDDS-9486
   
   ## How was this patch tested?
   Ran the test on local branch.
   


-- 
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