I've done this, and I'll see if that leads to more useful info.  With
only derby.infolog.append=true, I did find the following error (which
may be the crux of our problem).  I can't say for certain whether this
conincided with a database rollback, but I suspect it may have.

2005-08-30 16:40:49.671 GMT:
 Booting Derby version The Apache Software Foundation - Apache Derby -
10.0.2.1 - (106978): instance c013800d-0106-0843-1b00-000075ccda01
on database directory /Users/scotty/k2db-data/k2db/pkb

------------  BEGIN ERROR MESSAGE -------------

System may be in a inconsistent state, missing file /Users/scotty/k2db-
data/k2db/pkb/log/log1.dat
------------  END ERROR MESSAGE -------------

Database Class Loader started - derby.database.classpath=''
2005-08-30 16:40:53.181 GMT Thread
[javawsApplicationMain,5,javawsApplicationThreadGroup] (XID = 5),
(SESSIONID = 0), (DATABASE = pkb), (DRDAID = null), Committing
2005-08-30 16:40:53.182 GMT Thread
[javawsApplicationMain,5,javawsApplicationThreadGroup] (XID = 5),
(SESSIONID = 0), (DATABASE = pkb), (DATABASE = pkb), (DRDAID = null),
Rolling back
2005-08-30 16:40:58.040 GMT Thread[AWT-EventQueue-0,6,main] (XID = 6),
(SESSIONID = 1), (DATABASE = pkb), (DRDAID = null), Committing



What does log1.dat store?  Would the nonexistence of this file on boot
cause the sort of behavior I'm seeing?


Yes. log1.dat will contain the transaction log , that is used to redo the transactions in case of a crash. So files in the log directory are essential to bring database to a consistent state during the reboot after the crash and also for transaction rollbacks ..etc.

I wonder how log1.dat is missing , have not seen any bugs regarding this. Some how the log files are vanishing:

1) By chance , are the files in the database base log directory (<database-name>/log) are compressed by some automatic/manual process?

2) is there some automatic mechanism that is deleting the files in the Users directory ?

3) Is some one manually deleting these files, thinking they are just error log files ?

Try running the application on different disk/location and check if you are missing committed transactions, there also.

Thanks
-suresht

Reply via email to