Configuration Reference Home
OpenDJ - JE Backend

JE Backend

A JE Backend stores application data in a Berkeley DB Java Edition database.

It is the traditional "directory server" backend and is similar to the backends provided by the Sun Java System Directory Server. The JE Backend 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.

Parent Component

The JE Backend component inherits from the Pluggable Backend

Properties

A description of each property follows.


Basic Properties: Advanced Properties:
↓ backend-id ↓ db-checkpointer-bytes-interval
↓ base-dn ↓ db-checkpointer-wakeup-interval
↓ compact-encoding ↓ db-cleaner-min-utilization
↓ db-cache-percent ↓ db-directory-permissions
↓ db-cache-size ↓ db-evictor-core-threads
↓ db-directory ↓ db-evictor-keep-alive
↓ enabled ↓ db-evictor-lru-only
↓ index-entry-limit ↓ db-evictor-max-threads
↓ writability-mode ↓ db-evictor-nodes-per-scan
↓ db-log-file-max
↓ db-log-filecache-size
↓ db-logging-file-handler-on
↓ db-logging-level
↓ db-num-cleaner-threads
↓ db-num-lock-tables
↓ db-run-cleaner
↓ db-txn-no-sync
↓ db-txn-write-no-sync
↓ disk-full-threshold
↓ disk-low-threshold
↓ entries-compressed
↓ index-filter-analyzer-enabled
↓ index-filter-analyzer-max-filters
↓ java-class
↓ je-property
↓ preload-time-limit

Basic Properties

backend-id

Description
Specifies a name to identify the associated backend. The name must be unique among all backends in the server. The backend ID may not be altered after the backend is created in the server.
Default Value
None
Allowed Values
A String
Multi-valued
No
Required
Yes
Admin Action Required
None
Advanced Property
No
Read-only
Yes

base-dn

Description
Specifies the base DN(s) for the data that the backend handles. A single backend may be responsible for one or more base DNs. Note that no two backends may have the same base DN although one backend may have a base DN that is below a base DN provided by another backend (similar to the use of sub-suffixes in the Sun Java System Directory Server). If any of the base DNs is subordinate to a base DN for another backend, then all base DNs for that backend must be subordinate to that same base DN.
Default Value
None
Allowed Values
A valid DN.
Multi-valued
Yes
Required
Yes
Admin Action Required
None. No administrative action is required by default although some action may be required on a per-backend basis before the new base DN may be used.
Advanced Property
No
Read-only
No

compact-encoding

Description
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.
Default Value
true
Allowed Values
true
false
Multi-valued
No
Required
No
Admin Action Required
None. Changes to this setting take effect only for writes that occur after the change is made. It is not retroactively applied to existing data.
Advanced Property
No
Read-only
No

db-cache-percent

Description
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.
Default Value
50
Allowed Values
An integer value. Lower value is 1. Upper value is 90 .
Multi-valued
No
Required
No
Admin Action Required
None
Advanced Property
No
Read-only
No

db-cache-size

Description
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.
Default Value
0 MB
Allowed Values
A positive integer representing a size.
Multi-valued
No
Required
No
Admin Action Required
None
Advanced Property
No
Read-only
No

db-directory

Description
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 OpenDJ 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.
Default Value
db
Allowed Values
A String
Multi-valued
No
Required
Yes
Admin Action Required
The JE Backend must be disabled and re-enabled for changes to this setting to take effect
Advanced Property
No
Read-only
No

enabled

Description
Indicates whether the backend is enabled in the server. If a backend is not enabled, then its contents are not accessible when processing operations.
Default Value
None
Allowed Values
true
false
Multi-valued
No
Required
Yes
Admin Action Required
None
Advanced Property
No
Read-only
No

index-entry-limit

Description
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.
Default Value
4000
Allowed Values
An integer value. Lower value is 0. Upper value is 2147483647 .
Multi-valued
No
Required
No
Admin Action Required
None. If any index keys have already reached this limit, indexes need to be rebuilt before they are allowed to use the new limit.
Advanced Property
No
Read-only
No

writability-mode

Description
Specifies the behavior that the backend should use when processing write operations.
Default Value
enabled
Allowed Values
disabled - Causes all write attempts to fail.

enabled - Allows write operations to be performed in that backend (if the requested operation is valid, the user has permission to perform the operation, the backend supports that type of write operation, and the global writability-mode property is also enabled).

internal-only - Causes external write attempts to fail but allows writes by replication and internal operations.


Multi-valued
No
Required
Yes
Admin Action Required
None
Advanced Property
No
Read-only
No


Advanced Properties

db-checkpointer-bytes-interval

Description
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.
Default Value
500mb
Allowed Values
A positive integer representing a size. Upper value is 9223372036854775807 .
Multi-valued
No
Required
No
Admin Action Required
Restart the server
Advanced Property
Yes
Read-only
No

db-checkpointer-wakeup-interval

Description
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.
Default Value
30s
Allowed Values
A duration Syntax. Lower limit is 1 seconds. Upper limit is 4294 seconds.
Multi-valued
No
Required
No
Admin Action Required
The JE Backend must be disabled and re-enabled for changes to this setting to take effect
Advanced Property
Yes
Read-only
No

db-cleaner-min-utilization

Description
Specifies the occupancy percentage for "live" data in this backend's database. When the amount of "live" data in the database drops below this value, cleaners will act to increase the occupancy percentage by compacting the database.
Default Value
50
Allowed Values
An integer value. Lower value is 0. Upper value is 90 .
Multi-valued
No
Required
No
Admin Action Required
None
Advanced Property
Yes
Read-only
No

db-directory-permissions

Description
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.
Default Value
700
Allowed Values
Any octal value between 700 and 777 (the owner must always have read, write, and execute permissions on the directory).
Multi-valued
No
Required
No
Admin Action Required
Restart the server
Advanced Property
Yes
Read-only
No

db-evictor-core-threads

Description
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.
Default Value
1
Allowed Values
An integer value. Lower value is 0. Upper value is 2147483647 .
Multi-valued
No
Required
No
Admin Action Required
None
Advanced Property
Yes
Read-only
No

db-evictor-keep-alive

Description
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.
Default Value
600s
Allowed Values
A duration Syntax. Lower limit is 1 seconds. Upper limit is 86400 seconds.
Multi-valued
No
Required
No
Admin Action Required
None
Advanced Property
Yes
Read-only
No

db-evictor-lru-only

Description
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.
Default Value
false
Allowed Values
true
false
Multi-valued
No
Required
No
Admin Action Required
The JE Backend must be disabled and re-enabled for changes to this setting to take effect
Advanced Property
Yes
Read-only
No

db-evictor-max-threads

Description
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.
Default Value
10
Allowed Values
An integer value. Lower value is 1. Upper value is 2147483647 .
Multi-valued
No
Required
No
Admin Action Required
None
Advanced Property
Yes
Read-only
No

db-evictor-nodes-per-scan

Description
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.
Default Value
10
Allowed Values
An integer value. Lower value is 1. Upper value is 1000 .
Multi-valued
No
Required
No
Admin Action Required
The JE Backend must be disabled and re-enabled for changes to this setting to take effect
Advanced Property
Yes
Read-only
No

db-log-file-max

Description
Specifies the maximum size for a database log file.
Default Value
100mb
Allowed Values
A positive integer representing a size. Lower value is 1000000. Upper value is 4294967296 .
Multi-valued
No
Required
No
Admin Action Required
The JE Backend must be disabled and re-enabled for changes to this setting to take effect
Advanced Property
Yes
Read-only
No

db-log-filecache-size

Description
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.
Default Value
100
Allowed Values
An integer value. Lower value is 3. Upper value is 2147483647 .
Multi-valued
No
Required
No
Admin Action Required
The JE Backend must be disabled and re-enabled for changes to this setting to take effect
Advanced Property
Yes
Read-only
No

db-logging-file-handler-on

Description
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.
Default Value
true
Allowed Values
true
false
Multi-valued
No
Required
No
Admin Action Required
The JE Backend must be disabled and re-enabled for changes to this setting to take effect
Advanced Property
Yes
Read-only
No

db-logging-level

Description
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.
Default Value
CONFIG
Allowed Values
A String
Multi-valued
No
Required
No
Admin Action Required
The JE Backend must be disabled and re-enabled for changes to this setting to take effect
Advanced Property
Yes
Read-only
No

db-num-cleaner-threads

Description
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.
Default Value
Let the server decide.
Allowed Values
An integer value. Lower value is 1.
Multi-valued
No
Required
No
Admin Action Required
None
Advanced Property
Yes
Read-only
No

db-num-lock-tables

Description
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.
Default Value
Let the server decide.
Allowed Values
An integer value. Lower value is 1. Upper value is 32767 .
Multi-valued
No
Required
No
Admin Action Required
The JE Backend must be disabled and re-enabled for changes to this setting to take effect
Advanced Property
Yes
Read-only
No

db-run-cleaner

Description
Indicates whether the cleaner threads should be enabled to compact the database. The cleaner threads are used to periodically compact the database when it reaches a percentage of occupancy lower than the amount specified by the db-cleaner-min-utilization property. They identify database files with a low percentage of live data, and relocate their remaining live data to the end of the log.
Default Value
true
Allowed Values
true
false
Multi-valued
No
Required
No
Admin Action Required
None
Advanced Property
Yes
Read-only
No

db-txn-no-sync

Description
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 OpenDJ 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).
Default Value
false
Allowed Values
true
false
Multi-valued
No
Required
No
Admin Action Required
None
Advanced Property
Yes
Read-only
No

db-txn-write-no-sync

Description
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 OpenDJ directory server or the JVM exits abnormally).
Default Value
true
Allowed Values
true
false
Multi-valued
No
Required
No
Admin Action Required
None
Advanced Property
Yes
Read-only
No

disk-full-threshold

Description
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.
Default Value
100 megabytes
Allowed Values
A positive integer representing a size.
Multi-valued
No
Required
No
Admin Action Required
None
Advanced Property
Yes
Read-only
No

disk-low-threshold

Description
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.
Default Value
200 megabytes
Allowed Values
A positive integer representing a size.
Multi-valued
No
Required
No
Admin Action Required
None
Advanced Property
Yes
Read-only
No

entries-compressed

Description
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.
Default Value
false
Allowed Values
true
false
Multi-valued
No
Required
No
Admin Action Required
None. Changes to this setting take effect only for writes that occur after the change is made. It is not retroactively applied to existing data.
Advanced Property
Yes
Read-only
No

index-filter-analyzer-enabled

Description
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.
Default Value
false
Allowed Values
true
false
Multi-valued
No
Required
No
Admin Action Required
None
Advanced Property
Yes
Read-only
No

index-filter-analyzer-max-filters

Description
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.
Default Value
25
Allowed Values
An integer value. Lower value is 1.
Multi-valued
No
Required
No
Admin Action Required
None
Advanced Property
Yes
Read-only
No

java-class

Description
Specifies the fully-qualified name of the Java class that provides the backend implementation.
Default Value
org.opends.server.backends.jeb.JEBackend
Allowed Values
A java class that implements or extends the class(es) :
org.opends.server.api.Backend
Multi-valued
No
Required
Yes
Admin Action Required
The JE Backend must be disabled and re-enabled for changes to this setting to take effect
Advanced Property
Yes
Read-only
No

je-property

Description
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 OpenDJ 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.
Default Value
None
Allowed Values
A String
Multi-valued
Yes
Required
No
Admin Action Required
None
Advanced Property
Yes
Read-only
No

preload-time-limit

Description
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.
Default Value
0s
Allowed Values
A duration Syntax. Lower limit is 0 milliseconds. Upper limit is 2147483647 milliseconds.
Multi-valued
No
Required
No
Admin Action Required
None
Advanced Property
Yes
Read-only
No