db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeff Levitt (JIRA)" <derby-...@db.apache.org>
Subject [jira] Updated: (DERBY-271) Document the new property derby.system.durability=test
Date Tue, 17 May 2005 20:26:27 GMT
     [ http://issues.apache.org/jira/browse/DERBY-271?page=all ]

Jeff Levitt updated DERBY-271:

    Attachment: derby271modified.zip

The attached zip contains your changes plus output for review.  I stayed away from mentioning
anything that had to do with the future.  For example, I didn't mention that we "currently"
support only 'test', I instead just said that we only support 'test.'  When we add support
for any other values, then we'll just modify the docs to include it.  The idea is to avoid
making promises to users that we may not be able to keep, because adding support for more
values might get pushed to a later time, no one may have the resources to change the code,
etc.  So I tried to avoid saying anything about the future, or anything but what the code
currently does.

> Document the new property derby.system.durability=test
> ------------------------------------------------------
>          Key: DERBY-271
>          URL: http://issues.apache.org/jira/browse/DERBY-271
>      Project: Derby
>         Type: Sub-task
>   Components: Documentation
>     Versions:
>     Reporter: Sunitha Kambhampati
>     Assignee: Jeff Levitt
>  Attachments: derby271modified.zip
> Need to document the new property - derby.system.durability
> This should probably go along with other properties in Tuning guide. 
> --------------------------------------------------    
> derby.system.durability
> Currently the only valid supported case insensitive value is 'test' 
> If this property is set to any other value other than 'test', this 
> property setting is ignored
> In the future, this property can be used to set different modes of durability 
> - for example a form of relaxed durability where database can recover to a 
> consistent state, or to enable some kind of in-memory mode.
> When set to 'test', the store system will not force sync calls in the 
> following cases  
> - for the log file at each commit
> - for the log file before data page is forced to disk
> - for page allocation when file is grown
> - for data writes during checkpoint
> That means
> - 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
> - database can be in an inconsistent state
> This setting is provided for performance reasons and should ideally
> only be used when the system can withstand the above consequences.
> One sample use would be to use this mode (derby.system.durability=test)
> when using Derby as a test database, where high performance is required
> and the data is not very important.   
> If database is booted with derby.system.durability=test, the following warning message
is logged in derby.log
> 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, database
may be in an inconsistent state. Please use this mode only when these consequences are acceptable

> and a similar message will appear in derby.log  if the database was booted with derby.system.durability=test
at any time previously.
> It is important to realize that once the database is booted with derby.system.durability=test,
there are no guarantees on if the database is consistent or not. 
> -------------------
> Valid supported values are test
> Example
> derby.system.durability=test
> One can set this as a command line option to the JVM when starting the
> application or in the derby.properties file. It is a system level 
> property.
> This property is static; if you change it while Derby is running, 
> the change does not take effect until you reboot.  

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message