hangc0276 opened a new pull request, #3256:
URL: https://github.com/apache/bookkeeper/pull/3256

   ### Motivation
   Task 5 of BP-47, Garbage collection support direct IO entrylogger.
   
   GC support requires that the entrylogger provides a way to retrieve all 
entrylogs which have been completely flushed to disk. Previously this was done 
by returning the least unflushed log id. However, this is problematic as it 
doesn't support the log ids wrapping around. It also means that GC has to start 
checking for log id existence from zero every time it boots.
   
   
   ### Changes
   This change replaces `getLeastUnflushedLogId()` with `getFlushedLogIds()`, 
to give the entrylogger full control of which logs should be considered for GC.
   
   It also changes the `CompactableLedgerStorage` interface, removing 
`getEntryLogger()` and adding injection of the entrylogger to the 
GarbageCollectionThread. This makes testing easier.
   
   
   Master Issue: #2943 , Subtask of #2932 
   
   
   ### Others
   The commit is made by @ivankelly . This is the sub task of 
https://github.com/apache/bookkeeper/pull/2932 , which pushed out by 
@mauricebarnum. However, this PR contains too many changes and the number of 
code lines reaches 8K+, and it is hard to review. According to your suggestion 
https://github.com/apache/bookkeeper/pull/2932#issuecomment-1072882245, and 
after communicate with @mauricebarnum, we are planing to divide the PR into 6 
PRs, Please refer to 
https://github.com/apache/bookkeeper/issues/2943#issuecomment-1086446251.
   
   However, @mauricebarnum doesn't have enough time to deal with those issues, 
and we desperately need this feature. After communicated with @mauricebarnum 
and @merlimat , I help to work on divide the PRs and push them out. We are 
hoping to contain this feature in BookKeeper 4.16.0
   


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

Reply via email to