db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Matrigali (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DERBY-5284) A derby crash at exactly right time during a btree split can cause a corrupt db which can not be booted.
Date Thu, 23 Jun 2011 00:34:47 GMT

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

Mike Matrigali updated DERBY-5284:
----------------------------------

    Fix Version/s: 10.7.1.4

back ported to 10.7 branch.  clean merge.

Sending        java\engine\org\apache\derby\impl\store\access\btree\BTreeController.java
Sending        java\engine\org\apache\derby\impl\store\access\heap\HeapCompressScan.java
Sending        java\engine\org\apache\derby\impl\store\access\heap\HeapPostCommit.java
Transmitting file data ...
Committed revision 1138701.

> 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.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

        

Mime
View raw message