[ 
https://issues.apache.org/jira/browse/OAK-6372?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Dürig resolved OAK-6372.
--------------------------------
    Resolution: Fixed

Fixed at http://svn.apache.org/viewvc?rev=1804423&view=rev by limiting lists to 
16581375 entries, which should be sufficient. If this turns out to be not the 
case we need to address this via an improvement issue.  

> ListRecord cannot handle more than 16581375 entries
> ---------------------------------------------------
>
>                 Key: OAK-6372
>                 URL: https://issues.apache.org/jira/browse/OAK-6372
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: segment-tar
>            Reporter: Michael Dürig
>            Assignee: Michael Dürig
>             Fix For: 1.8, 1.7.7
>
>
> Creating a {{ListRecord}} instance with more than {{16581375 = LEVEL_SIZE * 
> LEVEL_SIZE * LEVEL_SIZE = 255 * 255 * 255}} entries results in a 
> {noformat}
> java.lang.IllegalArgumentException
>       at 
> com.google.common.base.Preconditions.checkArgument(Preconditions.java:77)
>       at 
> org.apache.jackrabbit.oak.segment.ListRecord.<init>(ListRecord.java:43)
>       at 
> org.apache.jackrabbit.oak.segment.ListRecord.getEntry(ListRecord.java:67)
>       at 
> org.apache.jackrabbit.oak.segment.RecordTest.testLargeListRecord(RecordTest.java:152)
> {noformat}
> This is caused by an integer overflow in the constructor causing 
> {{ListRecord.bucketSize}} to go negative. 



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

Reply via email to