hangc0276 opened a new pull request, #3253: URL: https://github.com/apache/bookkeeper/pull/3253
### Motivation Task 4 of BP-47, aligned native buffer wrapper to support direct IO. ### Changes A utility buffer class to be used with JNA calls. Buffers are page aligned (4k pages). The wrapper mostly handles writes between ByteBuffers and ByteBufs. It also provides a method for padding the buffer to the next alignment, so writes can have an aligned size also (as required by direct I/O). The padding is done with 0xF0, so that if it is read as an integer, or long, the value will be negative (assuming the read isa java read, and thus a signed int). 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]
