org.opends.server.admin.std.meta
Class LocalDBBackendCfgDefn

java.lang.Object
  extended by org.opends.server.admin.AbstractManagedObjectDefinition<C,S>
      extended by org.opends.server.admin.ManagedObjectDefinition<LocalDBBackendCfgClient,LocalDBBackendCfg>
          extended by org.opends.server.admin.std.meta.LocalDBBackendCfgDefn

public final class LocalDBBackendCfgDefn
extends ManagedObjectDefinition<LocalDBBackendCfgClient,LocalDBBackendCfg>

An interface for querying the Local DB Backend managed object definition meta information.

The Local DB Backend uses the Berkeley DB Java Edition to store user-provided data in a local repository.


Method Summary
 LocalDBBackendCfgClient createClientConfiguration(ManagedObject<? extends LocalDBBackendCfgClient> impl)
          Creates a client configuration view of the provided managed object.
 LocalDBBackendCfg createServerConfiguration(ServerManagedObject<? extends LocalDBBackendCfg> impl)
          Creates a server configuration view of the provided server managed object.
 StringPropertyDefinition getBackendIdPropertyDefinition()
          Get the "backend-id" property definition.
 DNPropertyDefinition getBaseDNPropertyDefinition()
          Get the "base-dn" property definition.
 BooleanPropertyDefinition getCompactEncodingPropertyDefinition()
          Get the "compact-encoding" property definition.
 IntegerPropertyDefinition getDBCachePercentPropertyDefinition()
          Get the "db-cache-percent" property definition.
 SizePropertyDefinition getDBCacheSizePropertyDefinition()
          Get the "db-cache-size" property definition.
 SizePropertyDefinition getDBCheckpointerBytesIntervalPropertyDefinition()
          Get the "db-checkpointer-bytes-interval" property definition.
 DurationPropertyDefinition getDBCheckpointerWakeupIntervalPropertyDefinition()
          Get the "db-checkpointer-wakeup-interval" property definition.
 IntegerPropertyDefinition getDBCleanerMinUtilizationPropertyDefinition()
          Get the "db-cleaner-min-utilization" property definition.
 StringPropertyDefinition getDBDirectoryPermissionsPropertyDefinition()
          Get the "db-directory-permissions" property definition.
 StringPropertyDefinition getDBDirectoryPropertyDefinition()
          Get the "db-directory" property definition.
 BooleanPropertyDefinition getDBEvictorLruOnlyPropertyDefinition()
          Get the "db-evictor-lru-only" property definition.
 IntegerPropertyDefinition getDBEvictorNodesPerScanPropertyDefinition()
          Get the "db-evictor-nodes-per-scan" property definition.
 SizePropertyDefinition getDBLogFileMaxPropertyDefinition()
          Get the "db-log-file-max" property definition.
 BooleanPropertyDefinition getDBLoggingFileHandlerOnPropertyDefinition()
          Get the "db-logging-file-handler-on" property definition.
 StringPropertyDefinition getDBLoggingLevelPropertyDefinition()
          Get the "db-logging-level" property definition.
 IntegerPropertyDefinition getDBNumCleanerThreadsPropertyDefinition()
          Get the "db-num-cleaner-threads" property definition.
 IntegerPropertyDefinition getDBNumLockTablesPropertyDefinition()
          Get the "db-num-lock-tables" property definition.
 BooleanPropertyDefinition getDBRunCleanerPropertyDefinition()
          Get the "db-run-cleaner" property definition.
 BooleanPropertyDefinition getDBTxnNoSyncPropertyDefinition()
          Get the "db-txn-no-sync" property definition.
 BooleanPropertyDefinition getDBTxnWriteNoSyncPropertyDefinition()
          Get the "db-txn-write-no-sync" property definition.
 IntegerPropertyDefinition getDeadlockRetryLimitPropertyDefinition()
          Get the "deadlock-retry-limit" property definition.
 BooleanPropertyDefinition getEnabledPropertyDefinition()
          Get the "enabled" property definition.
 BooleanPropertyDefinition getEntriesCompressedPropertyDefinition()
          Get the "entries-compressed" property definition.
 IntegerPropertyDefinition getImportQueueSizePropertyDefinition()
          Get the "import-queue-size" property definition.
 IntegerPropertyDefinition getImportThreadCountPropertyDefinition()
          Get the "import-thread-count" property definition.
 IntegerPropertyDefinition getIndexEntryLimitPropertyDefinition()
          Get the "index-entry-limit" property definition.
static LocalDBBackendCfgDefn getInstance()
          Get the Local DB Backend configuration definition singleton.
 ClassPropertyDefinition getJavaClassPropertyDefinition()
          Get the "java-class" property definition.
 StringPropertyDefinition getJEPropertyPropertyDefinition()
          Get the "je-property" property definition.
 InstantiableRelationDefinition<LocalDBIndexCfgClient,LocalDBIndexCfg> getLocalDBIndexesRelationDefinition()
          Get the "local-db-indexes" relation definition.
 InstantiableRelationDefinition<LocalDBVLVIndexCfgClient,LocalDBVLVIndexCfg> getLocalDBVLVIndexesRelationDefinition()
          Get the "local-db-vlv-indexes" relation definition.
 DurationPropertyDefinition getPreloadTimeLimitPropertyDefinition()
          Get the "preload-time-limit" property definition.
 java.lang.Class<LocalDBBackendCfg> getServerConfigurationClass()
          Gets the server configuration class instance associated with this managed object definition.
 IntegerPropertyDefinition getSubtreeDeleteBatchSizePropertyDefinition()
          Get the "subtree-delete-batch-size" property definition.
 IntegerPropertyDefinition getSubtreeDeleteSizeLimitPropertyDefinition()
          Get the "subtree-delete-size-limit" property definition.
 EnumPropertyDefinition<BackendCfgDefn.WritabilityMode> getWritabilityModePropertyDefinition()
          Get the "writability-mode" property definition.
 
Methods inherited from class org.opends.server.admin.AbstractManagedObjectDefinition
getAggregationPropertyDefinition, getAggregationPropertyDefinitions, getAllAggregationPropertyDefinitions, getAllChildren, getAllConstraints, getAllPropertyDefinitions, getAllRelationDefinitions, getAllReverseAggregationPropertyDefinitions, getAllReverseRelationDefinitions, getAllTags, getChild, getChildren, getConstraints, getDescription, getDescription, getName, getParent, getPropertyDefinition, getPropertyDefinitions, getRelationDefinition, getRelationDefinitions, getReverseAggregationPropertyDefinitions, getReverseRelationDefinitions, getSynopsis, getSynopsis, getUserFriendlyName, getUserFriendlyName, getUserFriendlyPluralName, getUserFriendlyPluralName, hasChildren, hasOption, hasTag, initialize, isChildOf, isParentOf, isTop, registerConstraint, registerOption, registerPropertyDefinition, registerRelationDefinition, registerTag, resolveManagedObjectDefinition, toString, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getInstance

public static LocalDBBackendCfgDefn getInstance()
Get the Local DB Backend configuration definition singleton.

Returns:
Returns the Local DB Backend configuration definition singleton.

createClientConfiguration

public LocalDBBackendCfgClient createClientConfiguration(ManagedObject<? extends LocalDBBackendCfgClient> impl)
Creates a client configuration view of the provided managed object. Modifications made to the underlying managed object will be reflected in the client configuration view and vice versa.

Specified by:
createClientConfiguration in class ManagedObjectDefinition<LocalDBBackendCfgClient,LocalDBBackendCfg>
Parameters:
impl - The managed object.
Returns:
Returns a client configuration view of the provided managed object.

createServerConfiguration

public LocalDBBackendCfg createServerConfiguration(ServerManagedObject<? extends LocalDBBackendCfg> impl)
Creates a server configuration view of the provided server managed object.

Specified by:
createServerConfiguration in class ManagedObjectDefinition<LocalDBBackendCfgClient,LocalDBBackendCfg>
Parameters:
impl - The server managed object.
Returns:
Returns a server configuration view of the provided server managed object.

getServerConfigurationClass

public java.lang.Class<LocalDBBackendCfg> getServerConfigurationClass()
Gets the server configuration class instance associated with this managed object definition.

Specified by:
getServerConfigurationClass in class ManagedObjectDefinition<LocalDBBackendCfgClient,LocalDBBackendCfg>
Returns:
Returns the server configuration class instance associated with this managed object definition.

getBackendIdPropertyDefinition

public StringPropertyDefinition getBackendIdPropertyDefinition()
Get the "backend-id" property definition.

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.

Returns:
Returns the "backend-id" property definition.

getBaseDNPropertyDefinition

public DNPropertyDefinition getBaseDNPropertyDefinition()
Get the "base-dn" property definition.

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.

Returns:
Returns the "base-dn" property definition.

getCompactEncodingPropertyDefinition

public BooleanPropertyDefinition getCompactEncodingPropertyDefinition()
Get the "compact-encoding" property definition.

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.

Returns:
Returns the "compact-encoding" property definition.

getDBCachePercentPropertyDefinition

public IntegerPropertyDefinition getDBCachePercentPropertyDefinition()
Get the "db-cache-percent" property definition.

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.

Returns:
Returns the "db-cache-percent" property definition.

getDBCacheSizePropertyDefinition

public SizePropertyDefinition getDBCacheSizePropertyDefinition()
Get the "db-cache-size" property definition.

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.

Returns:
Returns the "db-cache-size" property definition.

getDBCheckpointerBytesIntervalPropertyDefinition

public SizePropertyDefinition getDBCheckpointerBytesIntervalPropertyDefinition()
Get the "db-checkpointer-bytes-interval" property definition.

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.

Returns:
Returns the "db-checkpointer-bytes-interval" property definition.

getDBCheckpointerWakeupIntervalPropertyDefinition

public DurationPropertyDefinition getDBCheckpointerWakeupIntervalPropertyDefinition()
Get the "db-checkpointer-wakeup-interval" property definition.

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.

Returns:
Returns the "db-checkpointer-wakeup-interval" property definition.

getDBCleanerMinUtilizationPropertyDefinition

public IntegerPropertyDefinition getDBCleanerMinUtilizationPropertyDefinition()
Get the "db-cleaner-min-utilization" property definition.

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.

Returns:
Returns the "db-cleaner-min-utilization" property definition.

getDBDirectoryPropertyDefinition

public StringPropertyDefinition getDBDirectoryPropertyDefinition()
Get the "db-directory" property definition.

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 OpenDS 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.

Returns:
Returns the "db-directory" property definition.

getDBDirectoryPermissionsPropertyDefinition

public StringPropertyDefinition getDBDirectoryPermissionsPropertyDefinition()
Get the "db-directory-permissions" property definition.

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.

Returns:
Returns the "db-directory-permissions" property definition.

getDBEvictorLruOnlyPropertyDefinition

public BooleanPropertyDefinition getDBEvictorLruOnlyPropertyDefinition()
Get the "db-evictor-lru-only" property definition.

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 notes, 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.

Returns:
Returns the "db-evictor-lru-only" property definition.

getDBEvictorNodesPerScanPropertyDefinition

public IntegerPropertyDefinition getDBEvictorNodesPerScanPropertyDefinition()
Get the "db-evictor-nodes-per-scan" property definition.

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 100 often produces good results, but this may vary from application to application. The larger the nodes per scan, the more accurate the algorithm. However, setting it too high is detrimental; the need to consider larger numbers of nodes for each eviction may delay the completion of a given database operation, which will impact the response time of the application thread.

Returns:
Returns the "db-evictor-nodes-per-scan" property definition.

getDBLogFileMaxPropertyDefinition

public SizePropertyDefinition getDBLogFileMaxPropertyDefinition()
Get the "db-log-file-max" property definition.

Specifies the maximum size for a database log file.

Returns:
Returns the "db-log-file-max" property definition.

getDBLoggingFileHandlerOnPropertyDefinition

public BooleanPropertyDefinition getDBLoggingFileHandlerOnPropertyDefinition()
Get the "db-logging-file-handler-on" property definition.

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.

Returns:
Returns the "db-logging-file-handler-on" property definition.

getDBLoggingLevelPropertyDefinition

public StringPropertyDefinition getDBLoggingLevelPropertyDefinition()
Get the "db-logging-level" property definition.

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.

Returns:
Returns the "db-logging-level" property definition.

getDBNumCleanerThreadsPropertyDefinition

public IntegerPropertyDefinition getDBNumCleanerThreadsPropertyDefinition()
Get the "db-num-cleaner-threads" property definition.

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.

Returns:
Returns the "db-num-cleaner-threads" property definition.

getDBNumLockTablesPropertyDefinition

public IntegerPropertyDefinition getDBNumLockTablesPropertyDefinition()
Get the "db-num-lock-tables" property definition.

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.

Returns:
Returns the "db-num-lock-tables" property definition.

getDBRunCleanerPropertyDefinition

public BooleanPropertyDefinition getDBRunCleanerPropertyDefinition()
Get the "db-run-cleaner" property definition.

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.

Returns:
Returns the "db-run-cleaner" property definition.

getDBTxnNoSyncPropertyDefinition

public BooleanPropertyDefinition getDBTxnNoSyncPropertyDefinition()
Get the "db-txn-no-sync" property definition.

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 OpenDS 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).

Returns:
Returns the "db-txn-no-sync" property definition.

getDBTxnWriteNoSyncPropertyDefinition

public BooleanPropertyDefinition getDBTxnWriteNoSyncPropertyDefinition()
Get the "db-txn-write-no-sync" property definition.

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 OpenDS Directory Server or the JVM exits abnormally).

Returns:
Returns the "db-txn-write-no-sync" property definition.

getDeadlockRetryLimitPropertyDefinition

public IntegerPropertyDefinition getDeadlockRetryLimitPropertyDefinition()
Get the "deadlock-retry-limit" property definition.

Specifies the number of times that the server should retry an attempted operation in the backend if a deadlock results from two concurrent requests that interfere with each other in a conflicting manner.

A value of "0" indicates no limit.

Returns:
Returns the "deadlock-retry-limit" property definition.

getEnabledPropertyDefinition

public BooleanPropertyDefinition getEnabledPropertyDefinition()
Get the "enabled" property definition.

Indicates whether the backend is enabled in the server.

If a backend is not enabled, then its contents are not accessible when processing operations.

Returns:
Returns the "enabled" property definition.

getEntriesCompressedPropertyDefinition

public BooleanPropertyDefinition getEntriesCompressedPropertyDefinition()
Get the "entries-compressed" property definition.

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.

Returns:
Returns the "entries-compressed" property definition.

getImportQueueSizePropertyDefinition

public IntegerPropertyDefinition getImportQueueSizePropertyDefinition()
Get the "import-queue-size" property definition.

Specifies the size (in number of entries) of the queue that is used to hold the entries read during an LDIF import.

Returns:
Returns the "import-queue-size" property definition.

getImportThreadCountPropertyDefinition

public IntegerPropertyDefinition getImportThreadCountPropertyDefinition()
Get the "import-thread-count" property definition.

Specifies the number of threads that is used for concurrent processing during an LDIF import.

This should generally be a small multiple (for example, 2x) of the number of CPUs in the system for a traditional system, or equal to the number of CPU strands for a CMT system.

Returns:
Returns the "import-thread-count" property definition.

getIndexEntryLimitPropertyDefinition

public IntegerPropertyDefinition getIndexEntryLimitPropertyDefinition()
Get the "index-entry-limit" property definition.

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.

Returns:
Returns the "index-entry-limit" property definition.

getJavaClassPropertyDefinition

public ClassPropertyDefinition getJavaClassPropertyDefinition()
Get the "java-class" property definition.

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

Returns:
Returns the "java-class" property definition.

getJEPropertyPropertyDefinition

public StringPropertyDefinition getJEPropertyPropertyDefinition()
Get the "je-property" property definition.

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 OpenDS 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.

Returns:
Returns the "je-property" property definition.

getPreloadTimeLimitPropertyDefinition

public DurationPropertyDefinition getPreloadTimeLimitPropertyDefinition()
Get the "preload-time-limit" property definition.

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.

Returns:
Returns the "preload-time-limit" property definition.

getSubtreeDeleteBatchSizePropertyDefinition

public IntegerPropertyDefinition getSubtreeDeleteBatchSizePropertyDefinition()
Get the "subtree-delete-batch-size" property definition.

Specifies the maximum number of entries that may be deleted from the backend when using the subtree delete control within a single transaction.

If a subtree delete operation targets a subtree with more than this number of entries, then additional transactions are used to remove the remaining entries in that subtree.

Returns:
Returns the "subtree-delete-batch-size" property definition.

getSubtreeDeleteSizeLimitPropertyDefinition

public IntegerPropertyDefinition getSubtreeDeleteSizeLimitPropertyDefinition()
Get the "subtree-delete-size-limit" property definition.

Specifies the maximum number of entries that may be deleted from the backend when using the subtree delete control.

If a subtree delete operation targets a subtree with more than this number of entries, then multiple passes may be required to remove all entries in that subtree.

Returns:
Returns the "subtree-delete-size-limit" property definition.

getWritabilityModePropertyDefinition

public EnumPropertyDefinition<BackendCfgDefn.WritabilityMode> getWritabilityModePropertyDefinition()
Get the "writability-mode" property definition.

Specifies the behavior that the backend should use when processing write operations.

Returns:
Returns the "writability-mode" property definition.

getLocalDBIndexesRelationDefinition

public InstantiableRelationDefinition<LocalDBIndexCfgClient,LocalDBIndexCfg> getLocalDBIndexesRelationDefinition()
Get the "local-db-indexes" relation definition.

Returns:
Returns the "local-db-indexes" relation definition.

getLocalDBVLVIndexesRelationDefinition

public InstantiableRelationDefinition<LocalDBVLVIndexCfgClient,LocalDBVLVIndexCfg> getLocalDBVLVIndexesRelationDefinition()
Get the "local-db-vlv-indexes" relation definition.

Returns:
Returns the "local-db-vlv-indexes" relation definition.