[
https://issues.apache.org/jira/browse/OAK-6372?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Michael Dürig updated OAK-6372:
-------------------------------
Description:
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.
was:
Creating a {{ListRecord}} instance with more than 16581375 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.
> 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.3
>
>
> 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)