Daniel Noll wrote:
Hi all.

I have a question about the case where an embedded Derby database is being stored on NFS or CIFS or whatever.

Basically what I'm seeing happen is, a network outage occurs at some point in time. This causes a fairly normal store error as you would expect, but then Derby "remembers" that the database is corrupt and refuses any further operations, even if the network comes back up.

We can attempt to get around this when operating in pure embedded mode by doing a full shutdown and re-open, and this does work.

But if we're in server mode and the connection from Derby to the storage goes down, i.e.:

   Derby Client ------> Derby Server ---X--> Database on NAS

Is there some way to handle this situation gracefully? It appears that network server doesn't attempt a shutdown / connect when this occurs, it simply keeps the store open and in unusable state.

Or is a better solution to make the store layer more aware that these problems can be temporary?

Daniel


The problem is that I/O across a network cannot to be guaranteed. You are actually losing data buffered along the network when the network fails. Derby detects this when is boots the next time and finds the checksums and timestamps on the files int the database are out of sync. Derby database files must reside local to the machine hosting the Derby DBMS engine.


Reply via email to