Interface JeBackendCfg

All Superinterfaces:
BackendCfg, Configuration, LocalBackendCfg, PluggableBackendCfg

public interface JeBackendCfg extends PluggableBackendCfg
A server-side interface for querying JE Backend settings.

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

  • Method Details

    • configurationClass

      Class<? extends JeBackendCfg> configurationClass()
      Gets the configuration class associated with this JE Backend.
      Specified by:
      configurationClass in interface BackendCfg
      Specified by:
      configurationClass in interface Configuration
      Specified by:
      configurationClass in interface LocalBackendCfg
      Specified by:
      configurationClass in interface PluggableBackendCfg
      Returns:
      Returns the configuration class associated with this JE Backend.
    • addJeChangeListener

      void addJeChangeListener(ConfigurationChangeListener<JeBackendCfg> listener)
      Register to be notified when this JE Backend is changed.
      Parameters:
      listener - The JE Backend configuration change listener.
    • removeJeChangeListener

      void removeJeChangeListener(ConfigurationChangeListener<JeBackendCfg> listener)
      Deregister an existing JE Backend configuration change listener.
      Parameters:
      listener - The JE Backend configuration change listener.
    • getDbCacheMode

      Gets the "db-cache-mode" property.

      The strategy that will be used for caching database content in memory.

      Specifies whether the database heap cache should keep only internal nodes or both internal and leaf nodes.

      Default value: cache-ln

      Returns:
      Returns the value of the "db-cache-mode" property.
    • getDbCachePercent

      int getDbCachePercent()
      Gets the "db-cache-percent" property.

      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. Note also that this option is ignored if the global option je-backend-shared-cache-enabled is true.

      Default value: 50

      Returns:
      Returns the value of the "db-cache-percent" property.
    • getDbCacheSize

      long getDbCacheSize()
      Gets the "db-cache-size" property.

      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. Note also that this option is ignored if the global option je-backend-shared-cache-enabled is true.

      Default value: 0 MB

      Returns:
      Returns the value of the "db-cache-size" property.
    • getDbCheckpointerBytesInterval

      long getDbCheckpointerBytesInterval()
      Gets the "db-checkpointer-bytes-interval" property.

      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 the value is zero then checkpointing will be performed every 30 seconds.

      Default value: 500mb

      Returns:
      Returns the value of the "db-checkpointer-bytes-interval" property.
    • getDbCleanerMinUtilization

      int getDbCleanerMinUtilization()
      Gets the "db-cleaner-min-utilization" property.

      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

      Returns:
      Returns the value of the "db-cleaner-min-utilization" property.
    • getDbDirectory

      String getDbDirectory()
      Gets the "db-directory" property.

      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 PingDS 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

      Returns:
      Returns the value of the "db-directory" property.
    • getDbDirectoryPermissions

      String getDbDirectoryPermissions()
      Gets the "db-directory-permissions" property.

      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

      Returns:
      Returns the value of the "db-directory-permissions" property.
    • getDbDurability

      Gets the "db-durability" property.

      Configures the durability level that will be used when committing a transaction.

      High levels of durability offer a greater guarantee that the transaction is persisted to disk, but trade that off for lower performance.

      Default value: medium

      Returns:
      Returns the value of the "db-durability" property.
    • getDbLogFilecacheSize

      int getDbLogFilecacheSize()
      Gets the "db-log-filecache-size" property.

      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: 10000

      Returns:
      Returns the value of the "db-log-filecache-size" property.
    • getDbLogFileMax

      long getDbLogFileMax()
      Gets the "db-log-file-max" property.

      Specifies the maximum size of each individual database log file.

      Default value: 1gb

      Returns:
      Returns the value of the "db-log-file-max" property.
    • isDbLoggingFileHandlerOn

      boolean isDbLoggingFileHandlerOn()
      Gets the "db-logging-file-handler-on" property.

      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

      Returns:
      Returns the value of the "db-logging-file-handler-on" property.
    • getDbLoggingLevel

      String getDbLoggingLevel()
      Gets the "db-logging-level" property.

      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

      Returns:
      Returns the value of the "db-logging-level" property.
    • getDbLogVerifierSchedule

      String getDbLogVerifierSchedule()
      Gets the "db-log-verifier-schedule" property.

      Specifies when the background log verifier should run if enabled. By default, verification is performed every day at midnight, local time.

      The 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 * * *

      Returns:
      Returns the value of the "db-log-verifier-schedule" property.
    • isDbRunLogVerifier

      boolean isDbRunLogVerifier()
      Gets the "db-run-log-verifier" property.

      Indicates whether the background verifier should verify checksums in the database log.

      If 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: false

      Returns:
      Returns the value of the "db-run-log-verifier" property.
    • getDiskFullThreshold

      Long getDiskFullThreshold()
      Gets the "disk-full-threshold" property.

      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.

      Returns:
      Returns the value of the "disk-full-threshold" property.
    • getDiskLowThreshold

      Long getDiskLowThreshold()
      Gets the "disk-low-threshold" property.

      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.

      Returns:
      Returns the value of the "disk-low-threshold" property.
    • getJavaClass

      String getJavaClass()
      Gets the "java-class" property.

      Specifies the fully-qualified name of the Java class that provides the backend implementation.

      Default value: org.opends.server.backends.jeb.JEBackend

      Specified by:
      getJavaClass in interface BackendCfg
      Returns:
      Returns the value of the "java-class" property.
    • getJeProperty

      SortedSet<String> getJeProperty()
      Gets the "je-property" property.

      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 PingDS 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 is undefined

      Returns:
      Returns an unmodifiable set containing the values of the "je-property" property.