Jessie Lee wrote:
Hi, Steve & Bryan,
Bryan Pendleton <[EMAIL PROTECTED]> writes:
thrown executing the JAVA method java.io.RandomAccessFile.readFully
caused by the end of the file (EOF) being reached unexpectedly. It would
be good to check your disk and system logs for reports of Disk or I/O
problems.
I copied the whole database to the other machine and ran the same query that
caused the exception - got the same exception. So, looks like it's not
hardware problem.
This is good information, but does not necessarily mean not a hardware
problem.
Unfortunately these problems can be caused by hardware errors in the
past causing a persistent problem on disk, leaving the db in a bad
state. Once it is in the bad state the problem most likely persists --
even when copied to another machine. This is definitely the case with
bad checksum errors.
Providing a listing of the database directory, with names and sizes of
the files my provide some more info (ie. ls -l on unix). Also what
OS/JVM are you using. The page number is short of the magic 2 gig
number assuming 32k page size, but is getting close. We have seen
some JVM bugs and OS limitations with respect to files of 2 gig or
bigger.
Perhaps also check to see if your disk filled up. It seems that Derby
may think that the file is longer (larger) than it actually is, which
is why Derby is encountering the EndOfFile unexpectedly.
Perhaps your disk filled up at some point, and caused Derby to crash,
and then something went wrong after that such that the file was not
recovered properly?
Is it possible that at some point derby log or data can't be flushed into the
data / log file and caused the crash? We saw one error on the other machine
which mentioned that "log can't be flushed into log" (or something like that).
thanks,
bryan
Thanks,
Jessie