jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Julian Reschke (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (OAK-8275) Add NIO channel access to JCR binaries
Date Thu, 09 May 2019 20:15:01 GMT

    [ https://issues.apache.org/jira/browse/OAK-8275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16836666#comment-16836666

Julian Reschke commented on OAK-8275:

bq. I think it's not possible to implement a wrapper just base on InputStream mark/skip/reset
semantics that will work for binaries of all sizes because the initial marked position may
get invalidated (see mark/reset JavaDoc contract for InputStream).

Could you please clarify that?

> Add NIO channel access to JCR binaries
> --------------------------------------
>                 Key: OAK-8275
>                 URL: https://issues.apache.org/jira/browse/OAK-8275
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>            Reporter: Henry Saginor
>            Priority: Major
> This is a follow up to the discussion started in OAK-8186. Currently JCR binaries can
only be accessed via InputStream. This is inefficient. It can also be inadequate for some
use cases. For example handling some Zip file formats like deflate64 requires random access.
> The proposal is to add API that returns SeekableByteChannel
> Here is the new API I am proposing -
>  [https://github.com/hsaginor/jackrabbit/blob/createChannel/jackrabbit-api/src/main/java/org/apache/jackrabbit/api/ChannelBinary.java]
>  [https://github.com/hsaginor/jackrabbit-oak/blob/createChannel2/oak-api/src/main/java/org/apache/jackrabbit/oak/api/Blob.java]
(see 2 added methods)
> And all of the implementation changes -
>  [https://github.com/apache/jackrabbit-oak/compare/trunk...hsaginor:createChannel2]

This message was sent by Atlassian JIRA

View raw message