[ https://issues.apache.org/jira/browse/DERBY-5284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mike Matrigali resolved DERBY-5284. ----------------------------------- Resolution: Fixed Fixed and backported to all branches from 10.1 to 10.8. > A derby crash at exactly right time during a btree split can cause a corrupt > db which can not be booted. > -------------------------------------------------------------------------------------------------------- > > Key: DERBY-5284 > URL: https://issues.apache.org/jira/browse/DERBY-5284 > Project: Derby > Issue Type: Bug > Components: Store > Affects Versions: 10.1.3.1, 10.2.2.0, 10.3.3.0, 10.4.2.0, 10.5.3.0, > 10.6.1.0, 10.7.1.1, 10.8.1.2 > Reporter: Mike Matrigali > Assignee: Mike Matrigali > Fix For: 10.1.3.3, 10.2.2.1, 10.3.3.1, 10.4.2.1, 10.5.3.2, > 10.6.2.3, 10.7.1.4, 10.8.1.5, 10.9.0.0 > > Attachments: DERBY-5284_diff.txt > > > A derby crash at exactly wrong time during a btree split can cause a corrupt > db which can not be booted. > A problem in the split code and exact wrong timing of a crash can leave the > database in as state > where undo of purge operations corrupts index pages during redo and can cause > recovery boot > to never succeed and thus the database never to be booted. At hight level > what happens is that > a purge happens on a page and before it commits another transactions uses the > space of the > purge to do an insert and then commits, then the system crashes before the > purging transactions > gets a chance to commit. During undo the purge expects there to be space to > undo the purge > but there is not, and it corrupts the page in various ways depending on the > size and placement > of the inserts. The error that actually returns to user varies from sane to > insane as the problem > is actually noticed after the corruption occurs rather than during the undo. > -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira