Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-218 Add Relaxed Durability option
  3. DERBY-271

Document the new property derby.system.durability=test

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 10.1.1.0
    • 10.1.1.0
    • Documentation
    • None

    Description

      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.

      Attachments

        1. derby271modifiedfinal.zip
          7 kB
          Jeff Levitt

        Activity

          People

            jlevitt Jeff Levitt
            skambha Sunitha Kambhampati
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: