IntegrityCheck throws ArrayIndexOutOfBoundsException when analyzing a corrupt volume

Bug #1044397 reported by Peter Beaman
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Akiban Persistit
Medium
Peter Beaman

Bug Description

While checking a corrupt volume IntegrityCheck threw an ArrayIndexOutOfBoundsException and terminated. The AIOOBE was caused by invalid bytes in a buffer; the IntegrityCheck utility should avoid or catch the Exception, report it as a fault and move on. Similarly, examining the page using the CLI pview task caused a similar AIOOBE.

lang.ArrayIndexOutOfBoundsException
 at java.lang.System.arraycopy(Native Method)
 at com.persistit.Buffer.verify(Buffer.java:3494)
 at com.persistit.IntegrityCheck.verifyPage(IntegrityCheck.java:1139)
 at com.persistit.IntegrityCheck.checkTree(IntegrityCheck.java:926)
 at com.persistit.IntegrityCheck.checkTree(IntegrityCheck.java:964)
 at com.persistit.IntegrityCheck.checkTree(IntegrityCheck.java:964)
 at com.persistit.IntegrityCheck.checkTree(IntegrityCheck.java:964)
 at com.persistit.IntegrityCheck.checkTree(IntegrityCheck.java:821)
 at com.persistit.IntegrityCheck.checkVolume(IntegrityCheck.java:779)
 at com.persistit.IntegrityCheck.runTask(IntegrityCheck.java:283)
 at com.persistit.CLI$Command.execute(CLI.java:491)
 at com.persistit.CLI$Command.access$600(CLI.java:470)
 at com.persistit.CLI.commandLoop(CLI.java:643)
 at com.persistit.CLI.access$1200(CLI.java:144)
 at com.persistit.CLI$12.runTask(CLI.java:1328)
 at com.persistit.Persistit.main(Persistit.java:2506)

Related branches

Peter Beaman (pbeaman)
Changed in akiban-persistit:
assignee: nobody → Peter Beaman (pbeaman)
milestone: none → 3.1.7
Changed in akiban-persistit:
status: Confirmed → Fix Committed
Peter Beaman (pbeaman)
Changed in akiban-persistit:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers