db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Matrigali (JIRA)" <derby-...@db.apache.org>
Subject [jira] Updated: (DERBY-1248) Assert failure in BasePage.shiftUp() when running store/onlineBackupTest4.sql
Date Fri, 07 Jul 2006 18:15:31 GMT
     [ http://issues.apache.org/jira/browse/DERBY-1248?page=all ]

Mike Matrigali updated DERBY-1248:
----------------------------------


After a bit more thought the code can not throw an assert during undo based on page versions.
 It may 
be perfectly valid to appy a version 400 undo record to a version 500 page, due to row level
locking where
100 changes have committed but the 400th change needs to be undone.  So the only issue is
that  in 
the recovery case on the backup it is seeing version 579 of the page, but the log is only
up to version 
476 of the page.  

I have committed a new test OnlineBackupTest5.sql, which is the same as OnlineBackupTest4.sql
except
that it restores the backup to a new location, leaving the evidence of the old db.  If this
one reproduces the
problem it should be clear whether this is a backup problem, or a mainline recovery problem.
 So far I have
not been able to reproduce on my hardware/os, would appreciate it if someone can iterate over
the new 
test and post the results if it fails.

> Assert failure in BasePage.shiftUp() when running store/onlineBackupTest4.sql
> -----------------------------------------------------------------------------
>
>          Key: DERBY-1248
>          URL: http://issues.apache.org/jira/browse/DERBY-1248
>      Project: Derby
>         Type: Bug

>   Components: Store, Regression Test Failure
>     Versions: 10.2.0.0
>  Environment: Sun JVM 1.5.0_04 on Solaris 10 x86. Derby from trunk (revision 396285).
Sane build.
>     Reporter: Knut Anders Hatlen
>  Attachments: derby_335.log, linuxfailure.zip, solaris-singlecpu.zip, solarisfailure.zip,
storemore.zip, test2_379.jar, test335.jar
>
> I saw this error when I ran derbyall.
> ********* Diff file derbyall/storeall/storemore/onlineBackupTest4.diff
> *** Start: onlineBackupTest4 jdk1.5.0_04 storeall:storemore 2006-04-24 11:51:50 ***
> 68 del
> < ij(CONNECTION1)> select * from ctest;
> 69 del
> < ID         |NAME                                                               
                                                            
> 70 del
> < --------------------------------------------------------------------------------------------------------------------------------------------
> 71 del
> < 1          |derby backup/compress test                                         
                                                           &
> 72 del
> < 2          |derby backup/compress test                                         
                                                           &
> 73 del
> < 300        |derby backup/compress test                                         
                                                           &
> 74 del
> < 509        |derby backup/compress test                                         
                                                           &
> 75 del
> < 510        |derby backup/compress test                                         
                                                           &
> 76 del
> < 511        |derby backup/compress test                                         
                                                           &
> 77 del
> < 512        |derby backup/compress test                                         
                                                           &
> 78 del
> < ij(CONNECTION1)> insert into ctest values(2000, 'restore was successfil') ;
> 79 del
> < 1 row inserted/updated/deleted
> 80 del
> < ij(CONNECTION1)> 
> 80 add
> > org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED shiftUp failed,
low must be between 0 and recordCount.  low = 140, recordCount = 2
> > ERROR XJ040: Failed to start database 'wombat', see the next exception for details.
> > ERROR XJ001: Java exception: 'ASSERT FAILED shiftUp failed, low must be between
0 and recordCount.  low = 140, recordCount = 2: org.apache.derby.shared.common.sanity.AssertFailure'.
> > ij> select * from ctest;
> > IJ ERROR: Unable to establish connection
> > ij> insert into ctest values(2000, 'restore was successfil') ;
> > IJ ERROR: Unable to establish connection
> > ij> 
> Test Failed.
> *** End:   onlineBackupTest4 jdk1.5.0_04 storeall:storemore 2006-04-24 11:51:56 ***
> The test usually succeeds, but I managed to reproduce the failure by running this loop
in the shell:
> touch onlineBackupTest4.pass
> while [ -f onlineBackupTest4.pass ]; do
>     rm onlineBackupTest4.pass
>     java org.apache.derbyTesting.functionTests.harness.RunTest store/onlineBackupTest4.sql
> done

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message