You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-dev@jackrabbit.apache.org by Julian Reschke <ju...@gmx.de> on 2016/06/01 12:23:26 UTC

JCR Binary Usecase - UC7 - Random write access in binaries

<https://wiki.apache.org/jackrabbit/JCR%20Binary%20Usecase>

> UC7 - Random write access in binaries
>
> Think: a video file exposed onto the desktop via WebDAV. Desktop tools would do random writes in that file. How can we cover this use case without up/downloading the large file. (essentially: random write access in binaries)

I don't think we can construct a use case here, as there is no standard 
HTTP (or WebDAV) way to *write* byte ranges.

The WebDAV drivers I'm aware of handle this by caching the complete file 
locally, applying the change, and re-uploading the whole file.

Best regards, Julian

Re: JCR Binary Usecase - UC7 - Random write access in binaries

Posted by Michael Marth <mm...@adobe.com>.
Hi Jukka,

Thanks - this is very helpful context. If I read the issue correctly then a) the use case was already requested back then and b) random writes did not make it into the spec at least partly because some backing implementations would have struggled to implement it.

I think it makes a lot of sense to re-visit this feature as part of the broader list of use cases for efficiently handling binaries that Chetan was kind enough to compile. Especially, if this extension is implemented specifically for Oak then the considerations on different backing impls would be much simplified.

Cheers
Michael 




On 02/06/16 17:02, "Jukka Zitting" <ju...@gmail.com> wrote:

>Hi,
>
>See https://java.net/jira/browse/JSR_283-19 for more background on the
>decision to not have this feature in JCR 2.0.
>
>That said, I remember this feature request coming up every now and then,
>and we did for example design handling binary values in the segment store
>in a way that would allow random write access to be implemented efficiently
>if there's enough demand.
>
>Best,
>
>Jukka Zitting
>
>
>On Thu, Jun 2, 2016 at 10:25 AM Michael Marth <mm...@adobe.com> wrote:
>
>>
>> >
>> >...but the limitation is also present in the JCR API, right?
>>
>> yes, that is my understanding
>>

Re: JCR Binary Usecase - UC7 - Random write access in binaries

Posted by Jukka Zitting <ju...@gmail.com>.
Hi,

See https://java.net/jira/browse/JSR_283-19 for more background on the
decision to not have this feature in JCR 2.0.

That said, I remember this feature request coming up every now and then,
and we did for example design handling binary values in the segment store
in a way that would allow random write access to be implemented efficiently
if there's enough demand.

Best,

Jukka Zitting


On Thu, Jun 2, 2016 at 10:25 AM Michael Marth <mm...@adobe.com> wrote:

>
> >
> >...but the limitation is also present in the JCR API, right?
>
> yes, that is my understanding
>

Re: JCR Binary Usecase - UC7 - Random write access in binaries

Posted by Michael Marth <mm...@adobe.com>.
>
>...but the limitation is also present in the JCR API, right?

yes, that is my understanding

Re: JCR Binary Usecase - UC7 - Random write access in binaries

Posted by Julian Reschke <ju...@gmx.de>.
On 2016-06-02 15:40, Michael Marth wrote:
> Hi Julian,
>
> While WebDAV would be really preferable, I take your word that WebDAV as a protocol is not possible (I believe you know a thing or two about WebDAV).
>
> However, the transport protocol is only one aspect. For the sake of the argument assume a custom protocol for transport.
> What is still missing from a repository perspective is the capability for random writes into binaries.
> I think it is the latter that we should look at in the context of this use case.

...but the limitation is also present in the JCR API, right?



Re: JCR Binary Usecase - UC7 - Random write access in binaries

Posted by Michael Marth <mm...@adobe.com>.
Hi Julian,

While WebDAV would be really preferable, I take your word that WebDAV as a protocol is not possible (I believe you know a thing or two about WebDAV).

However, the transport protocol is only one aspect. For the sake of the argument assume a custom protocol for transport.
What is still missing from a repository perspective is the capability for random writes into binaries.
I think it is the latter that we should look at in the context of this use case.

Cheers
Michael



On 01/06/16 14:23, "Julian Reschke" <ju...@gmx.de> wrote:

><https://wiki.apache.org/jackrabbit/JCR%20Binary%20Usecase>
>
>> UC7 - Random write access in binaries
>>
>> Think: a video file exposed onto the desktop via WebDAV. Desktop tools would do random writes in that file. How can we cover this use case without up/downloading the large file. (essentially: random write access in binaries)
>
>I don't think we can construct a use case here, as there is no standard 
>HTTP (or WebDAV) way to *write* byte ranges.
>
>The WebDAV drivers I'm aware of handle this by caching the complete file 
>locally, applying the change, and re-uploading the whole file.
>
>Best regards, Julian