db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Knut Anders Hatlen <Knut.Hat...@Sun.COM>
Subject Re: Derby db files get corrupted
Date Fri, 17 Feb 2006 23:45:35 GMT
Maciek <wegorkie@interia.pl> writes:

> Knut Anders Hatlen <Knut.Hatlen@...> writes:
>> I have seen this error when I have deleted the database directory and
>> recreated the database, but not deleted the log directory. Could that
>> be your problem too?
> Well, deleting log files helped. DB is working and the user claims no data is
> lost. Maybe adding a "repair tool" to my app that deletes log files could solve
> future problems of this.

I have been trying to reproduce this problem with no luck. Then I
moved from the development trunk to the release, and I was
immediately able to reproduce the error by doing this:

  1) Create a database with logDevice set to /tmp/log
  2) Run some transactions so that a couple of log files are generated
  3) Kill Derby
  4) Delete database directory
  5) Re-create database with logDevice set to /tmp/log
  6) Run some transactions so that some, but not all of the log files
     are overwritten.
  7) Kill Derby
  8) Restart Derby

During the recovery in 8) I got this error message:

  ERROR XSDB4: Page Page(0,Container(0, 768)) is at version 2,657, the
  log file contains change version 2,715, either there are log records
  of this page missing, or this page did not get written out to disk

Since I don't get this error with the development trunk (and I have
really tried hard!), it seems like the problem has been fixed. I was
also able to reproduce the error using the release.

Maybe someone knows when this was fixed and can advise how to port the
fix to the release you are running?

Knut Anders

View raw message