FunctionThis property changes the default durability
of to improve performance
at the expense of consistency and durability of the database. The only valid
supported case insensitive value is test. If this property
is set to any value other than test, this property setting
is ignored. When derby.system.durability is set to test,
the store system will not force I/O synchronization calls for:
- the log file at each commit.
- the log file before a data page is forced to disk.
- page allocation when a file is grown.
- for data writes during checkpoints.
While performance is improved, note that under these conditions, a
commit no longer guarantees that the transaction's modification will survive
a system crash or JVM termination, the database may not recover successfully
upon restart, a near-full disk at runtime may cause unexpected errors, and
the database may be in an inconsistent state.
If you boot the database
with this property set to test, the following warning message
is logged in the derby.log file:WARNING: The database is booted with derby.system.durability=test.
In this mode, it is possible that database may not be able
to recover, committed transactions may be lost, and the database
may be in an inconsistent state. Please use this mode only when
these consequences are acceptable.A similar message will appear
in the derby.log file if the database was booted with derby.system.durability=test
at any time previously.
Once the database is booted with derby.system.durability=test,
there are no guarantees that the database is consistent.