[
https://issues.apache.org/jira/browse/BOOKKEEPER-1068?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16024649#comment-16024649
]
ASF GitHub Bot commented on BOOKKEEPER-1068:
--------------------------------------------
Github user asfgit closed the pull request at:
https://github.com/apache/bookkeeper/pull/155
> Expose ByteBuf in LedgerEntry to avoid data copy
> ------------------------------------------------
>
> Key: BOOKKEEPER-1068
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-1068
> Project: Bookkeeper
> Issue Type: Improvement
> Reporter: Matteo Merli
> Assignee: Matteo Merli
> Fix For: 4.5.0
>
>
> To avoid copying the entries payloads when writing/reading on a ledger and
> having to allocate a lot of byte[] on the JVM heap, we need to accept Netty
> ByteBuf buffer.
> By passing a ByteBuf, an application can use a pooled buffer, pointing to
> direct memory, to the {{LedgerHandle.addEntry()}} and have the same buffer
> forwarded on the connection sockets to the bookies.
> The same thing on the read side, {{LedgerEntry}} exposes an additional
> {{getEntryBuffer()}} method that can be used to get the underlying buffer and
> possibly forward that to some other connection, with zero-copy behavior
> (excluding getting data in-out of the kernel).
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)