UltraLite commit_flush_timeout option [temporary]

Sets a time interval threshold, after which a grouped commit flush is performed.

Allowed values

Integer, in milliseconds

Default

10000 milliseconds

Remarks

Use 0 to disable the time threshold.

You must set this option each time you start database, if it is required.

Both commit_flush_count and commit_flush_timeout are temporary database options. You must set these options each time you start a database. They persist as long as the database continues to run. They are only required when you set COMMIT_FLUSH=grouped as part of a connection string.

If you set this option in addition to the commit_flush_timeout option and if you have set the COMMIT_FLUSH connection parameter to grouped, either threshold triggers a flush. When the flush occurs, UltraLite sets the counter and the timer back to 0. Then, both the counter and timer are monitored until one of these thresholds is subsequently reached.

An important consideration for setting the commit flush options is how much the delay to flush committed transactions poses a risk to the recoverability of your data. There is a slight chance that a transaction may be lost, even though it has been committed. If a serious hardware failure occurs after a commit, but before the transaction is flushed to storage, the transaction is rolled back on recovery. A longer delay can increase UltraLite performance. You must choose an appropriate timeout threshold with care.

To set the commit_flush_timeout option from a client application, set it using the set database option function for the programming interface you are using.

See also