The
uses the Berkeley DB Java Edition to store user-provided data in a local
repository.
It is the traditional "directory server" backend and is similar to
the backends provided by the Sun Java System Directory Server. The
stores the entries in an encoded form and also provides indexes that
can be used to quickly locate target entries based on different
kinds of criteria.
ds-cfg-local-db-backend
ds-cfg-backend
presence
aci
equality
entryUUID
equality
objectClass
ordering
ds-sync-hist
equality
ds-sync-conflict
cn=Index
cn=VLV Index
org.opends.server.backends.jeb.BackendImpl
enabled
Default this to the db/backend-id
Specifies the path to the filesystem directory that is used
to hold the Berkeley DB Java Edition database files containing the
data for this backend.
The path may be either an absolute path or a path relative to the
directory containing the base of the directory server
installation. The path may be any valid directory path in which
the server has appropriate permissions to read and write files and
has sufficient space to hold the database contents.
db
ds-cfg-db-directory
Indicates whether the backend should use a compact form when
encoding entries by compressing the attribute descriptions and
object class sets.
Note that this property applies only to the entries themselves and
does not impact the index data.
Changes to this setting take effect only for writes that
occur after the change is made. It is not retroactively
applied to existing data.
true
ds-cfg-compact-encoding
Indicates whether the backend should attempt to compress entries
before storing them in the database.
Note that this property applies only to the entries themselves and
does not impact the index data. Further, the effectiveness of the
compression is based on the type of data contained in the
entry.
Changes to this setting take effect only for writes that
occur after the change is made. It is not retroactively
applied to existing data.
false
ds-cfg-entries-compressed
This parameter has been deprecated in OpenDS 2.1 and will be removed
in 3.0. It is only being kept for migration ease and is ignored
in OpenDS versions after 2.0.
This parameter has been deprecated in OpenDS 2.1 and will be removed
in 3.0. It is only being kept for migration ease and is ignored
in OpenDS versions after 2.0.
100
ds-cfg-import-queue-size
This parameter has been deprecated in OpenDS 2.1 and will be removed
in 3.0. It is only being kept for migration ease and is ignored
in OpenDS versions after 2.0.
This parameter has been deprecated in OpenDS 2.1 and will be removed
in 3.0. It is only being kept for migration ease and is ignored
in OpenDS versions after 2.0.
Changes do not take effect for any import that may already
be in progress.
8
ds-cfg-import-thread-count
Specifies the maximum number of entries that is allowed to
match a given index key before that particular index key is no
longer maintained.
This property is analogous to the ALL IDs threshold in the Sun
Java System Directory Server. Note that this is the default limit
for the backend, and it may be overridden on a per-attribute
basis.A value of 0 means there is no limit.
If any index keys have already reached this limit, indexes
need to be rebuilt before they are allowed to use the
new limit.
4000
ds-cfg-index-entry-limit
Specifies the permissions that should be applied to the directory
containing the server database files.
They should be expressed as three-digit octal values, which is the
traditional representation for UNIX file permissions. The three
digits represent the permissions that are available for the
directory's owner, group members, and other users (in that order),
and each digit is the octal representation of the read, write, and
execute bits. Note that this only impacts permissions on the
database directory and not on the files written into that
directory. On UNIX systems, the user's umask controls
permissions given to the database files.
700
^7[0-7][0-7]$
MODE
Any octal value between 700 and 777 (the owner must always
have read, write, and execute permissions on the directory).
ds-cfg-db-directory-permissions
Specifies the length of time that the backend is allowed to
spend "pre-loading" data when it is initialized.
The pre-load process is used to pre-populate the database
cache, so that it can be more quickly available when the server is
processing requests. A duration of zero means there is no
pre-load.
0s
ds-cfg-preload-time-limit
Specifies the percentage of JVM memory to allocate to the database cache.
Specifies the percentage of memory available to the JVM that
should be used for caching database contents. Note that this is
only used if the value of the db-cache-size property is set to
"0 MB". Otherwise, the value of that property is used instead
to control the cache size configuration.
50
ds-cfg-db-cache-percent
The amount of JVM memory to allocate to the database cache.
Specifies the amount of memory that should be used for caching
database contents. A value of "0 MB" indicates that the
db-cache-percent property should be used instead to specify the
cache size.
0 MB
ds-cfg-db-cache-size
Specifies the minimum percentage of "live" data that the database
cleaner attempts to keep in database log files.
If the amount of live data in any database log file drops below
this percentage, then the cleaner moves the remaining live
data in that file to the end of the database and deletes the
original file in order to keep the database relatively compact.
50
ds-cfg-db-cleaner-min-utilization
Indicates whether the database cleaner threads should be
enabled.
The cleaner threads are used to periodically compact the
database by identifying database files with a low (that is, less than
the amount specified by the db-cleaner-min-utilization property)
percentage of live data, moving the remaining live data to the end
of the log and deleting that file.
true
ds-cfg-db-run-cleaner
Indicates whether the database should evict existing data from the
cache based on an LRU policy (where the least recently used
information will be evicted first).
If set to "false", then the eviction keeps internal nodes of the underlying
Btree in the cache over leaf nodes, even if the leaf nodes have
been accessed more recently. This may be a better configuration
for databases in which only a very small portion of the data is
cached.
false
ds-cfg-db-evictor-lru-only
Specifies the number of Btree nodes that should be evicted from
the cache in a single pass if it is determined that it is
necessary to free existing data in order to make room for new
information.
Changes to this property do not take effect until the backend is
restarted. It is recommended that you also change this property
when you set db-evictor-lru-only to false. This setting controls
the number of Btree nodes that are considered, or sampled, each
time a node is evicted. A setting of 10 often produces good
results, but this may vary from application to application. The
larger the nodes per scan, the more accurate the algorithm.
However, don't set it too high. When considering larger numbers of
nodes for each eviction, the evictor may delay the completion of a
given database operation, which impacts the response time of the
application thread. In JE 4.1 and later, setting this value too high
in an application that is largely CPU bound can reduce the
effectiveness of cache eviction. It's best to start with the default
value, and increase it gradually to see if it is beneficial for your
application.
10
ds-cfg-db-evictor-nodes-per-scan
Specifies the core number of threads in the eviction thread pool.
Specifies the core number of threads in the eviction thread pool.
These threads help keep memory usage within cache bounds,
offloading work from application threads. db-evictor-core-threads,
db-evictor-max-threads and db-evictor-keep-alive are used to configure
the core, max and keepalive attributes for the eviction thread pool.
1
ds-cfg-db-evictor-core-threads
Specifies the maximum number of threads in the eviction thread pool.
Specifies the maximum number of threads in the eviction thread pool.
These threads help keep memory usage within cache bounds,
offloading work from application threads. db-evictor-core-threads,
db-evictor-max-threads and db-evictor-keep-alive are used to configure
the core, max and keepalive attributes for the eviction thread pool.
10
ds-cfg-db-evictor-max-threads
The duration that excess threads in the eviction thread pool will
stay idle. After this period, idle threads will terminate.
The duration that excess threads in the eviction thread pool will
stay idle. After this period, idle threads will terminate.
db-evictor-core-threads, db-evictor-max-threads and
db-evictor-keep-alive are used to configure the core, max and
keepalive attributes for the eviction thread pool.
600s
ds-cfg-db-evictor-keep-alive
Specifies the maximum size for a database log file.
100mb
ds-cfg-db-log-file-max
Specifies the size of the file handle cache.
The file handle cache is used to keep as much opened log files
as possible. When the cache is smaller than the number of logs,
the database needs to close some handles and open log files it needs,
resulting in less optimal performances. Ideally, the size of the cache
should be higher than the number of files contained in the database.
Make sure the OS number of open files per process is also tuned
appropriately.
100
ds-cfg-db-log-filecache-size
Indicates whether the database should maintain a je.info file in
the same directory as the database log directory.
This file contains information about the internal processing
performed by the underlying database.
true
ds-cfg-db-logging-file-handler-on
Use an enumeration
Specifies the log level that should be used by the database
when it is writing information into the je.info file.
The database trace logging level is (in increasing order of
verbosity) chosen from: OFF, SEVERE, WARNING, INFO, CONFIG, FINE,
FINER, FINEST, ALL.
CONFIG
ds-cfg-db-logging-level
Specifies the maximum number of bytes that may be written to the
database before it is forced to perform a checkpoint.
This can be used to bound the recovery time that may be required
if the database environment is opened without having been properly
closed. If this property is set to a non-zero value, the
checkpointer wakeup interval is not used. To use time-based
checkpointing, set this property to zero.
500mb
ds-cfg-db-checkpointer-bytes-interval
Specifies the maximum length of time that may pass between
checkpoints.
Note that this is only used if the value of the checkpointer
bytes interval is zero.
30s
ds-cfg-db-checkpointer-wakeup-interval
Specifies the number of lock tables that are used by the underlying database.
This can be particularly important to help improve scalability by
avoiding contention on systems with large numbers of CPUs. The
value of this configuration property should be set to a prime
number that is less than or equal to the number of worker threads
configured for use in the server.
Let the server decide.
ds-cfg-db-num-lock-tables
Specifies the number of threads that the backend should maintain
to keep the database log files at or near the desired utilization.
In environments with high write throughput, multiple cleaner
threads may be required to maintain the desired utilization.
Let the server decide.
ds-cfg-db-num-cleaner-threads
Indicates whether database writes should be primarily written to
an internal buffer but not immediately written to disk.
Setting the value of this configuration attribute to "true" may
improve write performance but could cause the most
recent changes to be lost if the directory server or the
underlying JVM exits abnormally, or if an OS or hardware failure
occurs (a behavior similar to running with transaction durability
disabled in the Sun Java System Directory Server).
false
ds-cfg-db-txn-no-sync
Indicates whether the database should synchronously flush data as
it is written to disk.
If this value is set to "false", then all data written to disk
is synchronously flushed to persistent storage and thereby
providing full durability. If it is set to "true", then data may
be cached for a period of time by the underlying operating system
before actually being written to disk. This may improve
performance, but could cause the most recent
changes to be lost in the event of an underlying OS or hardware
failure (but not in the case that the directory server or
the JVM exits abnormally).
true
ds-cfg-db-txn-write-no-sync
Low disk threshold to limit database updates
Specifies the "low" free space on the disk. When the available
free space on the disk used by this database instance falls below the
value specified, protocol updates on this database are permitted only
by a user with the BYPASS_LOCKDOWN privilege.
200 megabytes
ds-cfg-disk-low-threshold
Full disk threshold to limit database updates
When the available free space on the disk used by this database
instance falls below the value specified, no updates
are permitted and the server returns an UNWILLING_TO_PERFORM error.
Updates are allowed again as soon as free space rises above the
threshold.
100 megabytes
ds-cfg-disk-full-threshold
Specifies the database and environment properties for the Berkeley
DB Java Edition database serving the data for this backend.
Any Berkeley DB Java Edition property can be specified using the
following form: property-name=property-value. Refer to
documentation for further information on related properties, their
implications, and range values. The definitive identification of
all the property parameters is available in the example.properties
file of Berkeley DB Java Edition distribution.
ds-cfg-je-property
Indicates whether to gather statistical information about the search
filters processed by the directory server while evaluating the usage of
indexes.
Analyzing indexes requires gathering search filter usage patterns from
user requests, especially for values as specified in the filters and
subsequently looking the status of those values into the index files.
When a search requests is processed, internal or user generated, a
first phase uses indexes to find potential entries to be returned.
Depending on the search filter, if the index of one of the specified
attributes matches too many entries (exceeds the index entry limit),
the search becomes non-indexed. In any case, all entries thus
gathered (or the entire DIT) are matched against the filter for
actually returning the search result.
false
ds-cfg-index-filter-analyzer-enabled
The maximum number of search filter statistics to keep.
When the maximum number of search filter is reached, the least used one
will be deleted.
25
ds-cfg-index-filter-analyzer-max-filters
Indicates whether id2children and id2subtree indexes should be used for
this backend. These indexes are used for constraining filtered searches
to the search request's scope as well as for generating values for the
hasSubordinates and numSubordinates virtual attributes.
Subordinate indexing is enabled by default and should only be disabled
for specialized use cases. A typical use case is where the backend is
to be subjected to heavy add/delete load beneath the same parent entry
such as when used as a session database. Disabling the subordinate
indexes means that the numSubordinates and hasSubordinates virtual
attributes will not be supported.
true
ds-cfg-subordinate-indexes-enabled