Every Berkeley DB environment created by Freeze has an associated thread that checkpoints this environment every
num seconds. If
num is less than
0, no checkpointing is performed. The default is 120 seconds.
If num is set to a value larger than zero, Freeze instructs Berkeley DB to use process-private memory instead of shared memory. The default value is
1. Set this property to
0 in order to run
db_archive (or another Berkeley DB utility) on a running environment.
If num is set to a value larger than zero, fatal recovery is performed when the environment is opened. The default value is
0.
If num is set to a value larger than zero, old transactional logs no longer in use are deleted after each periodic checkpoint (see
Freeze.DbEnv.env‑name.CheckpointPeriod). The default value is
1.
Freeze.DbEnv.env‑name.PeriodicCheckpointMinSize
num is the minimum size in kilobytes for the periodic checkpoint (see
Freeze.DbEnv.env‑name.CheckpointPeriod). This value is passed to Berkeley DB's
checkpoint function. The default is
0 (which means no minimum).
Freeze.Evictor.env‑name.filename.name.BtreeMinKey
name may represent a database name or an index name. This property sets the B‑tree minkey of the corresponding Berkeley DB database.
num is ignored if it is less than
2. Please refer to the Berkeley DB documentation for details.
Freeze.Evictor.env‑name.filename.name.Checksum
If num is greater than 0, checksums on the corresponding Berkeley DB database(s)
are enabled. Please refer to the Berkeley DB documentation for details.
Freeze uses a background thread to save updates to the database. Transactions are used to save many facets together.
num defines the maximum number of facets saved per transaction. The default is
10 * SaveSizeTrigger (see
Freeze.Evictor.env‑name.filename.SaveSizeTrigger); if this value is negative, the actual value is set to
100.
If num is greater than 0, it sets the page size of the corresponding Berkeley DB
database(s). Please refer to the Berkeley DB documentation for details.
Freeze.Evictor.env‑name.filename.PopulateEmptyIndices
When num is not
0 and you create an evictor with one or more empty indexes, the
createBackgroundSaveEvictor or
createTransactionalEvictor call will populate these indexes by iterating over all the corresponding facets. This is particularly useful after transforming a Freeze evictor with FreezeScript, since FreezeScript does not transform indexes; however this can significantly slow down the creation of the evictor
if you have an empty index because none of the facets currently in the database match the type of this index. The default value for this property is
0.
Freeze.Evictor.env‑name.filename.RollbackOnUserException
If num is non-zero, a transactional evictor rolls back its transaction if the outcome of the dispatch is a user exception. If
num is 0 (the default), the transactional evictor commits the transaction.
Freeze uses a background thread to save updates to the database. After num milliseconds without saving, if any facet is created, modified, or destroyed, this background thread wakes up to save these facets. When num is
0, there is no periodic saving. The default is
60000.
Freeze.Evictor.env‑name.filename.SaveSizeTrigger
Freeze uses a background thread to save updates to the database. When num is 0 or positive, as soon as
num or more facets have been created, modified, or destroyed, this background thread wakes up to save them. When
num is negative, there is no size trigger. The default is
10.
Freeze.Evictor.env‑name.filename.StreamTimeout
When the saving thread saves an object, it needs to lock this object in order to get a consistent copy of the object's state. If the lock cannot be acquired within
num seconds, a fatal error is generated. If a fatal error callback was registered by the application, this callback is called; otherwise the program is terminated immediately. When
num is
0 or negative, there is no timeout. The default value is
0.
If num is set to a non-zero value, the Freeze evictor assumes that any operation that is not marked
nonmutating updates the state of the target object.
The recommend way to inform evictors of whether an operation modifies the state of its object is to use the
["freeze:read"] and
["freeze:write"] metadata directives (see
Section 40.5.5).
name may represent a database name or an index name. This property sets the -tree minkey of the corresponding Berkeley DB database.
num is ignored if it is less
than 2. Please refer to the Berkeley DB documentation for details.
name may represent a database name or an index name. If
num is greater than 0, checksums for the corresponding Berkeley DB database are enabled. Please refer
to the Berkeley DB documentation for details.
name may represent a database name or an index name. If
num is greater than 0, it sets the page size of the corresponding Berkeley DB database. Please refer to the
Berkeley DB documentation for details.
If num is set to a value larger than zero, Freeze logs a warning message when an application neglects to explicitly close a map iterator. The default value is
1 (Java only).
If num is set to a value larger than zero, Freeze logs a warning message when a deadlock occur. The default value is
0.
If num is set to a value larger than zero, Freeze logs a warning message when it rolls back a transaction that goes out of scope together with its associated connection. The default value is
1. (C++ only)