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]
