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 checkpoint 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.
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 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.
When num is not
0 and you create an evictor with one or more empty indexes, the
createEvictor 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
createEvictor if you have an empty index because none of the facets currently in your database match the type of this index. The default value for this property is
0.
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 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.
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 modifes the state of its object is to use the
["freeze:read"] and
["freeze:write"] metadata directives (see
Section 40.5.3).
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 an application neglects to explicitly close a map iterator. The default value is
1 (Java only).