[ https://issues.apache.org/jira/browse/JCR-3799?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14085029#comment-14085029 ]
Harish Reddy commented on JCR-3799: ----------------------------------- I don't think that's the same issue. The problem in this case simply appears to be a lossy conversion from long to int which results in a bad value being passed to stream.read. As far as I can tell, there is no inherent limitation in streaming a large amount of data. As I mentioned earlier, it's probably a matter of checking the places where such casts are being made and if the cast is gong to fail when the value in length will not fit in an int. > Setting large binary value on jcr:data property fails over RMI > -------------------------------------------------------------- > > Key: JCR-3799 > URL: https://issues.apache.org/jira/browse/JCR-3799 > Project: Jackrabbit Content Repository > Issue Type: Bug > Components: jackrabbit-jcr-rmi > Affects Versions: 2.6.5 > Environment: Any > Reporter: Harish Reddy > > Setting a very large binary value on the jcr:data property fails and throws > an an exception at line 187 in the 2.6.5 source > (org.apache.jackrabbit.rmi.value.SerializableBinary.java) > This appears to be a problem with converting a long variable into a > int at line 187. > n = stream.read(buffer, 0, Math.min( > buffer.length, (int) (length - count))); > The problem occurs only when the length of the binary exceeds a number that > can't fit in an int (in my test case, length was 3245027213). > Other parts of SerializableBinary.java also appear to be casting length to an > int, so I'm guessing all instances of this pattern will need to be fixed. > I'm using 2.6.5, so don't know if the issue exists in earlier 2.x versions as > well. This used to work in v 1.5.4. -- This message was sent by Atlassian JIRA (v6.2#6252)