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

Thomas Mueller commented on OAK-433:
------------------------------------

For me, it's actually quite consistent... Binaries are split into chunks. There 
are two kinds of chunks: for very small chunks the data is inlined in the chunk 
id, larger chunks are stored and the chunk id is the hash. The chunk ids are 
then concatenated to form the blob id. When storing a blob, for each chunk a 
chunk id is appended to the blob id (no chunk means no chunk id). When reading, 
an EOF on the blob id means EOF for the data. It's actually quite consistent.

Of course we could special-case empty blobs in the AbstractBlobStore if people 
feel that's better. It would add a little complexity to the AbstractBlobStore, 
I guess not too bad.

But what I like to understand is what problem we want to solve here.
                
> MicroKernel.write() returns empty string for empty stream
> ---------------------------------------------------------
>
>                 Key: OAK-433
>                 URL: https://issues.apache.org/jira/browse/OAK-433
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: mk
>            Reporter: Michael Dürig
>            Priority: Minor
>
> Calling {{MicroKernel.write}} with an empty stream as argument, will return 
> an empty string as blobId. While this is not strictly a bug and retrieving 
> the blob by that identifier works, I think it is confusing and should be 
> reconsidered. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to