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

Francesco Mari commented on OAK-5902:
-------------------------------------

[~dulceanu], I think that we should avoid as much as possible to write our own 
custom chunking logic. {{ChunkedInput}} and {{ChunkedWriteHandler}} look like a 
good solution to this problem. 

Regarding the problem about the hashing, I think that the simplest solution 
would be to do let {{StandbyClient}} return an implementation of 
{{InputStream}} that, while being consumed, computes its own hash internally. 
Before the last chunk of that {{InputStream}} is returned, if the internally 
computed hash and the expected hash differ, an exception is thrown. This will 
result in an exception on the consumer's side, i.e. when the {{InputStream}} is 
passed to the {{BlobStore}} for persisting it. The advantage of this solution 
is that wraps the error checking under the {{InputStream}} API, and delegates 
the handling of the error to the consumer, who is the only entity entitled to 
provide a strategy for dealing with the error condition.

What about this approach?

> Cold standby should allow syncing of blobs bigger than 2.2 GB
> -------------------------------------------------------------
>
>                 Key: OAK-5902
>                 URL: https://issues.apache.org/jira/browse/OAK-5902
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: segment-tar
>    Affects Versions: 1.6.1
>            Reporter: Andrei Dulceanu
>            Assignee: Andrei Dulceanu
>            Priority: Minor
>             Fix For: 1.8, 1.7.5
>
>
> Currently there is a limitation for the maximum binary size (in bytes) to be 
> synced between primary and standby instances. This matches 
> {{Integer.MAX_VALUE}} (2,147,483,647) bytes and no binaries bigger than this 
> limit can be synced between the instances.
> Per comment at [1], the current protocol needs to be changed to allow sending 
> of binaries in chunks, to surpass this limitation.
> [1] 
> https://github.com/apache/jackrabbit-oak/blob/1.6/oak-segment-tar/src/main/java/org/apache/jackrabbit/oak/segment/standby/client/StandbyClient.java#L125



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to