Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-6372

ListRecord cannot handle more than 16581375 entries

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.7.6, 1.8.0
    • segment-tar
    • None

    Description

      Creating a ListRecord instance with more than 16581375 = LEVEL_SIZE * LEVEL_SIZE * LEVEL_SIZE = 255 * 255 * 255 entries results in a

      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)
      

      This is caused by an integer overflow in the constructor causing ListRecord.bucketSize to go negative.

      Attachments

        Activity

          People

            mduerig Michael Dürig
            mduerig Michael Dürig
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: