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

The JE Backend object inherits from Pluggable Backend.

Basic Properties

backend-id

SynopsisSpecifies a name to identify the associated backend.
DescriptionThe 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

No

Read-Only

Yes

base-dn

SynopsisSpecifies the base DN(s) for the data that the backend handles.
DescriptionA 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

No

Read-Only

No

cipher-key-length

SynopsisSpecifies the key length in bits for the preferred cipher.
Default Value

128

Allowed Values

An integer.

Lower limit: 0.

Multi-valued

No

Required

No

Admin Action Required

None

Changes to this property take effect immediately but only affect cryptographic operations performed after the change.

Advanced

No

Read-Only

No

cipher-transformation

SynopsisSpecifies the cipher for the directory server. The syntax is "algorithm/mode/padding".
DescriptionThe full transformation is required: specifying only an algorithm and allowing the cipher provider to supply the default mode and padding is not supported, because there is no guarantee these default values are the same among different implementations. Some cipher algorithms, including RC4 and ARCFOUR, do not have a mode or padding, and hence must be specified using NONE for the mode field and NoPadding for the padding field. For example, RC4/NONE/NoPadding.
Default Value

AES/GCM/NoPadding

Allowed Values

A string.

Multi-valued

No

Required

No

Admin Action Required

None

Changes to this property take effect immediately but only affect cryptographic operations performed after the change.

Advanced

No

Read-Only

No

compact-encoding

SynopsisIndicates whether the backend should use a compact form when encoding entries by compressing the attribute descriptions and object class sets.
DescriptionNote that this property applies only to the entries themselves and does not impact the index data. It will also replace the attribute descriptions used in add and modify operations with normalized ones from the schema.
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

No

Read-Only

No

confidentiality-enabled

SynopsisIndicates whether the backend should make entries in database files readable only by Directory Server.
DescriptionConfidentiality is achieved by enrypting entries before writing them to the underlying storage. Entry encryption will protect data on disk from unauthorised parties reading the files; for complete protection, also set confidentiality for sensitive attributes indexes. The property cannot be set to false if some of the indexes have confidentiality set to true.
Default Value

false

Allowed Values

true

false

Multi-valued

No

Required

No

Admin Action Required

None

Advanced

No

Read-Only

No

db-cache-percent

SynopsisSpecifies the percentage of JVM memory to allocate to the database cache.
DescriptionSpecifies 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. Note also that this option is ignored if the global option je-backend-shared-cache-enabled is true.
Default Value

50

Allowed Values

An integer.

Lower limit: 1.

Upper limit: 90.

Multi-valued

No

Required

No

Admin Action Required

None

Advanced

No

Read-Only

No

db-cache-size

SynopsisThe amount of JVM memory to allocate to the database cache.
DescriptionSpecifies 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. Note also that this option is ignored if the global option je-backend-shared-cache-enabled is true.
Default Value

0 MB

Allowed Values

Uses Size Syntax .

Multi-valued

No

Required

No

Admin Action Required

None

Advanced

No

Read-Only

No

db-directory

SynopsisSpecifies the path to the filesystem directory that is used to hold the Berkeley DB Java Edition database files containing the data for this backend.
DescriptionThe 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 object must be disabled and re-enabled for changes to take effect.

Advanced

No

Read-Only

No

enabled

SynopsisIndicates whether the backend is enabled in the server.
DescriptionIf 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

No

Read-Only

No

writability-mode

SynopsisSpecifies 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

No

Read-Only

No

Advanced Properties

Use the --advanced option to access advanced properties.

db-cache-mode

SynopsisThe strategy that will be used for caching database content in memory.
DescriptionSpecifies whether the database heap cache should keep only internal nodes or both internal and leaf nodes.
Default Value

cache-ln

Allowed Values

adaptive: Regularly check the database and cache metrics and set the best cache mode accordingly.

cache-ln: Keep both internal and leaf nodes in the database heap cache. This can improve performance when the database is relatively small and when the database fits entirely into the database cache. This mode requires the cache to be rebuilt after each restart.

evict-ln: Keep only internal nodes in the database heap cache. Leaf nodes will only be cached by the file system. This mode improves performance most when the database is too big to fit entirely into the database cache, or when the cache size would require an overly large JVM heap. This mode has the advantage of keeping the cache hot between restarts.

Multi-valued

No

Required

No

Admin Action Required

None

Advanced

Yes

Read-Only

No

db-checkpointer-bytes-interval

SynopsisSpecifies the maximum number of bytes that may be written to the database before it is forced to perform a checkpoint.
DescriptionThis 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

Uses Size Syntax .

Upper limit: 9223372036854775807.

Multi-valued

No

Required

No

Admin Action Required

The object must be disabled and re-enabled for changes to take effect.

Advanced

Yes

Read-Only

No

db-checkpointer-wakeup-interval

SynopsisSpecifies the maximum length of time that may pass between checkpoints.
DescriptionNote that this is only used if the value of the checkpointer bytes interval is zero.
Default Value

30s

Allowed Values

Uses Duration Syntax .

Lower limit: 1 seconds.

Upper limit: 4500 seconds.

Multi-valued

No

Required

No

Admin Action Required

The object must be disabled and re-enabled for changes to take effect.

Advanced

Yes

Read-Only

No

db-cleaner-min-utilization

SynopsisSpecifies the occupancy percentage for "live" data in this backend's database.
DescriptionWhen 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.

Lower limit: 0.

Upper limit: 90.

Multi-valued

No

Required

No

Admin Action Required

None

Advanced

Yes

Read-Only

No

db-directory-permissions

SynopsisSpecifies the permissions that should be applied to the directory containing the server database files.
DescriptionThey 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

The object must be disabled and re-enabled for changes to take effect.

Advanced

Yes

Read-Only

No

db-durability

SynopsisConfigures the durability level that will be used when committing a transaction.
DescriptionHigh levels of durability offer a greater guarantee that the transaction is persisted to disk, but trade that off for lower performance.
Default Value

medium

Allowed Values

high: Write and synchronously flush the log on transaction commit. Transactions exhibit full durability and will not be lost if the application or operating system fails.

low: Do not write or synchronously flush the log on transaction commit. Database integrity will be maintained, but if the application or system fails, it is possible some number of the most recently committed transactions may be undone (lost) during recovery.

medium: Write but do not synchronously flush the log on transaction commit. Database integrity will be maintained, but if the operating system fails, it is possible some number of the most recently committed transactions may be undone (lost) during recovery.

Multi-valued

No

Required

No

Admin Action Required

None

Advanced

Yes

Read-Only

No

db-evictor-core-threads

SynopsisSpecifies the core number of threads in the eviction thread pool.
DescriptionSpecifies 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.

Lower limit: 0.

Upper limit: 2147483647.

Multi-valued

No

Required

No

Admin Action Required

None

Advanced

Yes

Read-Only

No

db-evictor-keep-alive

SynopsisThe duration that excess threads in the eviction thread pool will stay idle. After this period, idle threads will terminate.
DescriptionThe 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

Uses Duration Syntax .

Lower limit: 1 seconds.

Upper limit: 86400 seconds.

Multi-valued

No

Required

No

Admin Action Required

None

Advanced

Yes

Read-Only

No

db-evictor-max-threads

SynopsisSpecifies the maximum number of threads in the eviction thread pool.
DescriptionSpecifies 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.

Lower limit: 1.

Upper limit: 2147483647.

Multi-valued

No

Required

No

Admin Action Required

None

Advanced

Yes

Read-Only

No

db-log-file-max

SynopsisSpecifies the maximum size of each individual database log file.
Default Value

1gb

Allowed Values

Uses Size Syntax .

Lower limit: 1000000.

Upper limit: 2147483648.

Multi-valued

No

Required

No

Admin Action Required

The object must be disabled and re-enabled for changes to take effect.

Advanced

Yes

Read-Only

No

db-log-filecache-size

SynopsisSpecifies the size of the file handle cache.
DescriptionThe 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

200

Allowed Values

An integer.

Lower limit: 3.

Upper limit: 2147483647.

Multi-valued

No

Required

No

Admin Action Required

The object must be disabled and re-enabled for changes to take effect.

Advanced

Yes

Read-Only

No

db-log-verifier-schedule

SynopsisSpecifies when the background log verifier should run if enabled. By default, verification is performed every day at midnight, local time.
DescriptionThe schedule is specified using a Crontab style format string as defined in https://en.wikipedia.org/wiki/Cron#Configuration_file. Note that times and dates are specified in local time, not UTC time. If the verifier is already running at the scheduled time, the scheduled run is skipped.
Default Value

0 0 * * *

Allowed Values

A crontab format string (minute hour day month dayofweek).

Multi-valued

No

Required

No

Admin Action Required

None

Advanced

Yes

Read-Only

No

db-logging-file-handler-on

SynopsisIndicates whether the database should maintain a je.info file in the same directory as the database log directory.
DescriptionThis 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 object must be disabled and re-enabled for changes to take effect.

Advanced

Yes

Read-Only

No

db-logging-level

SynopsisSpecifies the log level that should be used by the database when it is writing information into the je.info file.
DescriptionThe 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 object must be disabled and re-enabled for changes to take effect.

Advanced

Yes

Read-Only

No

db-num-cleaner-threads

SynopsisSpecifies the number of threads that the backend should maintain to keep the database log files at or near the desired utilization.
DescriptionIn 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.

Lower limit: 1.

Multi-valued

No

Required

No

Admin Action Required

None

Advanced

Yes

Read-Only

No

db-num-lock-tables

SynopsisSpecifies the number of lock tables that are used by the underlying database.
DescriptionThis 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.

Lower limit: 1.

Upper limit: 32767.

Multi-valued

No

Required

No

Admin Action Required

The object must be disabled and re-enabled for changes to take effect.

Advanced

Yes

Read-Only

No

db-run-cleaner

SynopsisIndicates whether the cleaner threads should be enabled to compact the database.
DescriptionThe 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

Yes

Read-Only

No

db-run-log-verifier

SynopsisIndicates whether the background verifier should verify checksums in the database log.
DescriptionIf enabled, the entire log is periodically read sequentially and verified. The schedule can be controlled using the db-log-verifier-schedule property. If the verification process detects backend database corruption then the server logs an error message and the backend is taken offline. The corrupted backend should be restored from backup before it can be used again.
Default Value

true

Allowed Values

true

false

Multi-valued

No

Required

No

Admin Action Required

None

Advanced

Yes

Read-Only

No

disk-full-threshold

SynopsisFull disk threshold to limit database updates
DescriptionWhen 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

5% of the filesystem size, plus 1 GB

Allowed Values

Uses Size Syntax .

Multi-valued

No

Required

No

Admin Action Required

None

Advanced

Yes

Read-Only

No

disk-low-threshold

SynopsisLow disk threshold to limit database updates
DescriptionSpecifies 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

5% of the filesystem size, plus 5 GB

Allowed Values

Uses Size Syntax .

Multi-valued

No

Required

No

Admin Action Required

None

Advanced

Yes

Read-Only

No

entries-compressed

SynopsisIndicates whether the backend should attempt to compress entries before storing them in the database.
DescriptionNote 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

Yes

Read-Only

No

import-offheap-memory-size

SynopsisSpecifies the amount of off-heap memory dedicated to the online operation (import-ldif, rebuild-index).
Default Value

Use only heap memory.

Allowed Values

Uses Size Syntax .

Multi-valued

No

Required

No

Admin Action Required

None

Advanced

Yes

Read-Only

No

index-entry-limit

SynopsisSpecifies the maximum number of entries that is allowed to match a given index key before that particular index key is no longer maintained.
DescriptionThis 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. Changing the index entry limit significantly can result in serious performance degradation. Please read the documentation before changing this setting.
Default Value

4000

Allowed Values

An integer.

Lower limit: 0.

Upper limit: 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

Yes

Read-Only

No

index-filter-analyzer-enabled

SynopsisIndicates whether to gather statistical information about the search filters processed by the directory server while evaluating the usage of indexes.
DescriptionAnalyzing 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

Yes

Read-Only

No

index-filter-analyzer-max-filters

SynopsisThe maximum number of search filter statistics to keep.
DescriptionWhen the maximum number of search filter is reached, the least used one will be deleted.
Default Value

25

Allowed Values

An integer.

Lower limit: 1.

Multi-valued

No

Required

No

Admin Action Required

None

Advanced

Yes

Read-Only

No

java-class

SynopsisSpecifies 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 extends or implements:

  • org.opends.server.api.Backend

Multi-valued

No

Required

Yes

Admin Action Required

The object must be disabled and re-enabled for changes to take effect.

Advanced

Yes

Read-Only

No

je-property

SynopsisSpecifies the database and environment properties for the Berkeley DB Java Edition database serving the data for this backend.
DescriptionAny 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

The object must be disabled and re-enabled for changes to take effect.

Advanced

Yes

Read-Only

No

Read a different version of :