org.opends.server.admin.std.client
Interface LocalDBBackendCfgClient

All Superinterfaces:
BackendCfgClient, ConfigurationClient

public interface LocalDBBackendCfgClient
extends BackendCfgClient

A client-side interface for reading and modifying Local DB Backend settings.

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


Method Summary
<C extends LocalDBIndexCfgClient>
C
createLocalDBIndex(ManagedObjectDefinition<C,? extends LocalDBIndexCfg> d, java.lang.String name, java.util.Collection<DefaultBehaviorException> exceptions)
          Creates a new Local DB Index.
<C extends LocalDBVLVIndexCfgClient>
C
createLocalDBVLVIndex(ManagedObjectDefinition<C,? extends LocalDBVLVIndexCfg> d, java.lang.String name, java.util.Collection<DefaultBehaviorException> exceptions)
          Creates a new Local DB VLV Index.
 ManagedObjectDefinition<? extends LocalDBBackendCfgClient,? extends LocalDBBackendCfg> definition()
          Get the configuration definition associated with this Local DB Backend.
 int getDBCachePercent()
          Gets the "db-cache-percent" property.
 long getDBCacheSize()
          Gets the "db-cache-size" property.
 long getDBCheckpointerBytesInterval()
          Gets the "db-checkpointer-bytes-interval" property.
 long getDBCheckpointerWakeupInterval()
          Gets the "db-checkpointer-wakeup-interval" property.
 int getDBCleanerMinUtilization()
          Gets the "db-cleaner-min-utilization" property.
 java.lang.String getDBDirectory()
          Gets the "db-directory" property.
 java.lang.String getDBDirectoryPermissions()
          Gets the "db-directory-permissions" property.
 int getDBEvictorNodesPerScan()
          Gets the "db-evictor-nodes-per-scan" property.
 long getDBLogFileMax()
          Gets the "db-log-file-max" property.
 java.lang.String getDBLoggingLevel()
          Gets the "db-logging-level" property.
 int getDBNumCleanerThreads()
          Gets the "db-num-cleaner-threads" property.
 int getDBNumLockTables()
          Gets the "db-num-lock-tables" property.
 int getDeadlockRetryLimit()
          Gets the "deadlock-retry-limit" property.
 int getImportQueueSize()
          Gets the "import-queue-size" property.
 int getImportThreadCount()
          Gets the "import-thread-count" property.
 int getIndexEntryLimit()
          Gets the "index-entry-limit" property.
 java.lang.String getJavaClass()
          Gets the "java-class" property.
 java.util.SortedSet<java.lang.String> getJEProperty()
          Gets the "je-property" property.
 LocalDBIndexCfgClient getLocalDBIndex(java.lang.String name)
          Gets the named Local DB Index.
 LocalDBVLVIndexCfgClient getLocalDBVLVIndex(java.lang.String name)
          Gets the named Local DB VLV Index.
 long getPreloadTimeLimit()
          Gets the "preload-time-limit" property.
 int getSubtreeDeleteBatchSize()
          Gets the "subtree-delete-batch-size" property.
 int getSubtreeDeleteSizeLimit()
          Gets the "subtree-delete-size-limit" property.
 BackendCfgDefn.WritabilityMode getWritabilityMode()
          Gets the "writability-mode" property.
 boolean isCompactEncoding()
          Gets the "compact-encoding" property.
 boolean isDBEvictorLruOnly()
          Gets the "db-evictor-lru-only" property.
 boolean isDBLoggingFileHandlerOn()
          Gets the "db-logging-file-handler-on" property.
 boolean isDBRunCleaner()
          Gets the "db-run-cleaner" property.
 boolean isDBTxnNoSync()
          Gets the "db-txn-no-sync" property.
 boolean isDBTxnWriteNoSync()
          Gets the "db-txn-write-no-sync" property.
 boolean isEntriesCompressed()
          Gets the "entries-compressed" property.
 java.lang.String[] listLocalDBIndexes()
          Lists the Local DB Indexes.
 java.lang.String[] listLocalDBVLVIndexes()
          Lists the Local DB VLV Indexes.
 void removeLocalDBIndex(java.lang.String name)
          Removes the named Local DB Index.
 void removeLocalDBVLVIndex(java.lang.String name)
          Removes the named Local DB VLV Index.
 void setCompactEncoding(java.lang.Boolean value)
          Sets the "compact-encoding" property.
 void setDBCachePercent(java.lang.Integer value)
          Sets the "db-cache-percent" property.
 void setDBCacheSize(java.lang.Long value)
          Sets the "db-cache-size" property.
 void setDBCheckpointerBytesInterval(java.lang.Long value)
          Sets the "db-checkpointer-bytes-interval" property.
 void setDBCheckpointerWakeupInterval(java.lang.Long value)
          Sets the "db-checkpointer-wakeup-interval" property.
 void setDBCleanerMinUtilization(java.lang.Integer value)
          Sets the "db-cleaner-min-utilization" property.
 void setDBDirectory(java.lang.String value)
          Sets the "db-directory" property.
 void setDBDirectoryPermissions(java.lang.String value)
          Sets the "db-directory-permissions" property.
 void setDBEvictorLruOnly(java.lang.Boolean value)
          Sets the "db-evictor-lru-only" property.
 void setDBEvictorNodesPerScan(java.lang.Integer value)
          Sets the "db-evictor-nodes-per-scan" property.
 void setDBLogFileMax(java.lang.Long value)
          Sets the "db-log-file-max" property.
 void setDBLoggingFileHandlerOn(java.lang.Boolean value)
          Sets the "db-logging-file-handler-on" property.
 void setDBLoggingLevel(java.lang.String value)
          Sets the "db-logging-level" property.
 void setDBNumCleanerThreads(java.lang.Integer value)
          Sets the "db-num-cleaner-threads" property.
 void setDBNumLockTables(java.lang.Integer value)
          Sets the "db-num-lock-tables" property.
 void setDBRunCleaner(java.lang.Boolean value)
          Sets the "db-run-cleaner" property.
 void setDBTxnNoSync(java.lang.Boolean value)
          Sets the "db-txn-no-sync" property.
 void setDBTxnWriteNoSync(java.lang.Boolean value)
          Sets the "db-txn-write-no-sync" property.
 void setDeadlockRetryLimit(java.lang.Integer value)
          Sets the "deadlock-retry-limit" property.
 void setEntriesCompressed(java.lang.Boolean value)
          Sets the "entries-compressed" property.
 void setImportQueueSize(java.lang.Integer value)
          Sets the "import-queue-size" property.
 void setImportThreadCount(java.lang.Integer value)
          Sets the "import-thread-count" property.
 void setIndexEntryLimit(java.lang.Integer value)
          Sets the "index-entry-limit" property.
 void setJavaClass(java.lang.String value)
          Sets the "java-class" property.
 void setJEProperty(java.util.Collection<java.lang.String> values)
          Sets the "je-property" property.
 void setPreloadTimeLimit(java.lang.Long value)
          Sets the "preload-time-limit" property.
 void setSubtreeDeleteBatchSize(java.lang.Integer value)
          Sets the "subtree-delete-batch-size" property.
 void setSubtreeDeleteSizeLimit(java.lang.Integer value)
          Sets the "subtree-delete-size-limit" property.
 void setWritabilityMode(BackendCfgDefn.WritabilityMode value)
          Sets the "writability-mode" property.
 
Methods inherited from interface org.opends.server.admin.std.client.BackendCfgClient
getBackendId, getBaseDN, isEnabled, setBackendId, setBaseDN, setEnabled
 
Methods inherited from interface org.opends.server.admin.ConfigurationClient
commit, properties
 

Method Detail

definition

ManagedObjectDefinition<? extends LocalDBBackendCfgClient,? extends LocalDBBackendCfg> definition()
Get the configuration definition associated with this Local DB Backend.

Specified by:
definition in interface BackendCfgClient
Specified by:
definition in interface ConfigurationClient
Returns:
Returns the configuration definition associated with this Local DB Backend.

isCompactEncoding

boolean isCompactEncoding()
Gets the "compact-encoding" property.

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 value of the "compact-encoding" property.

setCompactEncoding

void setCompactEncoding(java.lang.Boolean value)
                        throws IllegalPropertyValueException
Sets the "compact-encoding" property.

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.

Parameters:
value - The value of the "compact-encoding" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

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.

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

setDBCachePercent

void setDBCachePercent(java.lang.Integer value)
                       throws IllegalPropertyValueException
Sets 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.

Parameters:
value - The value of the "db-cache-percent" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

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.

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

setDBCacheSize

void setDBCacheSize(java.lang.Long value)
                    throws IllegalPropertyValueException
Sets 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.

Parameters:
value - The value of the "db-cache-size" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

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 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 value of the "db-checkpointer-bytes-interval" property.

setDBCheckpointerBytesInterval

void setDBCheckpointerBytesInterval(java.lang.Long value)
                                    throws IllegalPropertyValueException
Sets 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 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.

Parameters:
value - The value of the "db-checkpointer-bytes-interval" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

getDBCheckpointerWakeupInterval

long getDBCheckpointerWakeupInterval()
Gets the "db-checkpointer-wakeup-interval" property.

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 value of the "db-checkpointer-wakeup-interval" property.

setDBCheckpointerWakeupInterval

void setDBCheckpointerWakeupInterval(java.lang.Long value)
                                     throws IllegalPropertyValueException
Sets the "db-checkpointer-wakeup-interval" property.

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.

Parameters:
value - The value of the "db-checkpointer-wakeup-interval" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

getDBCleanerMinUtilization

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

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 value of the "db-cleaner-min-utilization" property.

setDBCleanerMinUtilization

void setDBCleanerMinUtilization(java.lang.Integer value)
                                throws IllegalPropertyValueException
Sets the "db-cleaner-min-utilization" property.

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.

Parameters:
value - The value of the "db-cleaner-min-utilization" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

getDBDirectory

java.lang.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 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 value of the "db-directory" property.

setDBDirectory

void setDBDirectory(java.lang.String value)
                    throws IllegalPropertyValueException
Sets 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 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.

Parameters:
value - The value of the "db-directory" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

getDBDirectoryPermissions

java.lang.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.

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

setDBDirectoryPermissions

void setDBDirectoryPermissions(java.lang.String value)
                               throws IllegalPropertyValueException
Sets 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.

Parameters:
value - The value of the "db-directory-permissions" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

isDBEvictorLruOnly

boolean isDBEvictorLruOnly()
Gets the "db-evictor-lru-only" property.

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 value of the "db-evictor-lru-only" property.

setDBEvictorLruOnly

void setDBEvictorLruOnly(java.lang.Boolean value)
                         throws IllegalPropertyValueException
Sets the "db-evictor-lru-only" property.

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.

Parameters:
value - The value of the "db-evictor-lru-only" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

getDBEvictorNodesPerScan

int getDBEvictorNodesPerScan()
Gets the "db-evictor-nodes-per-scan" property.

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 value of the "db-evictor-nodes-per-scan" property.

setDBEvictorNodesPerScan

void setDBEvictorNodesPerScan(java.lang.Integer value)
                              throws IllegalPropertyValueException
Sets the "db-evictor-nodes-per-scan" property.

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.

Parameters:
value - The value of the "db-evictor-nodes-per-scan" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

getDBLogFileMax

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

Specifies the maximum size for a database log file.

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

setDBLogFileMax

void setDBLogFileMax(java.lang.Long value)
                     throws IllegalPropertyValueException
Sets the "db-log-file-max" property.

Specifies the maximum size for a database log file.

Parameters:
value - The value of the "db-log-file-max" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

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.

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

setDBLoggingFileHandlerOn

void setDBLoggingFileHandlerOn(java.lang.Boolean value)
                               throws IllegalPropertyValueException
Sets 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.

Parameters:
value - The value of the "db-logging-file-handler-on" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

getDBLoggingLevel

java.lang.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.

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

setDBLoggingLevel

void setDBLoggingLevel(java.lang.String value)
                       throws IllegalPropertyValueException
Sets 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.

Parameters:
value - The value of the "db-logging-level" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

getDBNumCleanerThreads

int getDBNumCleanerThreads()
Gets the "db-num-cleaner-threads" property.

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 value of the "db-num-cleaner-threads" property.

setDBNumCleanerThreads

void setDBNumCleanerThreads(java.lang.Integer value)
                            throws IllegalPropertyValueException
Sets the "db-num-cleaner-threads" property.

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.

Parameters:
value - The value of the "db-num-cleaner-threads" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

getDBNumLockTables

int getDBNumLockTables()
Gets the "db-num-lock-tables" property.

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 value of the "db-num-lock-tables" property.

setDBNumLockTables

void setDBNumLockTables(java.lang.Integer value)
                        throws IllegalPropertyValueException
Sets the "db-num-lock-tables" property.

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.

Parameters:
value - The value of the "db-num-lock-tables" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

isDBRunCleaner

boolean isDBRunCleaner()
Gets the "db-run-cleaner" property.

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 value of the "db-run-cleaner" property.

setDBRunCleaner

void setDBRunCleaner(java.lang.Boolean value)
                     throws IllegalPropertyValueException
Sets the "db-run-cleaner" property.

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.

Parameters:
value - The value of the "db-run-cleaner" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

isDBTxnNoSync

boolean isDBTxnNoSync()
Gets the "db-txn-no-sync" property.

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 value of the "db-txn-no-sync" property.

setDBTxnNoSync

void setDBTxnNoSync(java.lang.Boolean value)
                    throws IllegalPropertyValueException
Sets the "db-txn-no-sync" property.

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

Parameters:
value - The value of the "db-txn-no-sync" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

isDBTxnWriteNoSync

boolean isDBTxnWriteNoSync()
Gets the "db-txn-write-no-sync" property.

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 value of the "db-txn-write-no-sync" property.

setDBTxnWriteNoSync

void setDBTxnWriteNoSync(java.lang.Boolean value)
                         throws IllegalPropertyValueException
Sets the "db-txn-write-no-sync" property.

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

Parameters:
value - The value of the "db-txn-write-no-sync" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

getDeadlockRetryLimit

int getDeadlockRetryLimit()
Gets the "deadlock-retry-limit" property.

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 value of the "deadlock-retry-limit" property.

setDeadlockRetryLimit

void setDeadlockRetryLimit(java.lang.Integer value)
                           throws IllegalPropertyValueException
Sets the "deadlock-retry-limit" property.

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.

Parameters:
value - The value of the "deadlock-retry-limit" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

isEntriesCompressed

boolean isEntriesCompressed()
Gets the "entries-compressed" property.

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 value of the "entries-compressed" property.

setEntriesCompressed

void setEntriesCompressed(java.lang.Boolean value)
                          throws IllegalPropertyValueException
Sets the "entries-compressed" property.

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.

Parameters:
value - The value of the "entries-compressed" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

getImportQueueSize

int getImportQueueSize()
Gets the "import-queue-size" property.

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 value of the "import-queue-size" property.

setImportQueueSize

void setImportQueueSize(java.lang.Integer value)
                        throws IllegalPropertyValueException
Sets the "import-queue-size" property.

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

Parameters:
value - The value of the "import-queue-size" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

getImportThreadCount

int getImportThreadCount()
Gets the "import-thread-count" property.

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 value of the "import-thread-count" property.

setImportThreadCount

void setImportThreadCount(java.lang.Integer value)
                          throws IllegalPropertyValueException
Sets the "import-thread-count" property.

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.

Parameters:
value - The value of the "import-thread-count" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

getIndexEntryLimit

int getIndexEntryLimit()
Gets the "index-entry-limit" property.

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 value of the "index-entry-limit" property.

setIndexEntryLimit

void setIndexEntryLimit(java.lang.Integer value)
                        throws IllegalPropertyValueException
Sets the "index-entry-limit" property.

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.

Parameters:
value - The value of the "index-entry-limit" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

getJavaClass

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

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

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

setJavaClass

void setJavaClass(java.lang.String value)
                  throws IllegalPropertyValueException
Sets the "java-class" property.

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

Specified by:
setJavaClass in interface BackendCfgClient
Parameters:
value - The value of the "java-class" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

getJEProperty

java.util.SortedSet<java.lang.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 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 values of the "je-property" property.

setJEProperty

void setJEProperty(java.util.Collection<java.lang.String> values)
                   throws IllegalPropertyValueException
Sets 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 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.

Parameters:
values - The values of the "je-property" property.
Throws:
IllegalPropertyValueException - If one or more of the new values are invalid.

getPreloadTimeLimit

long getPreloadTimeLimit()
Gets the "preload-time-limit" property.

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 value of the "preload-time-limit" property.

setPreloadTimeLimit

void setPreloadTimeLimit(java.lang.Long value)
                         throws IllegalPropertyValueException
Sets the "preload-time-limit" property.

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.

Parameters:
value - The value of the "preload-time-limit" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

getSubtreeDeleteBatchSize

int getSubtreeDeleteBatchSize()
Gets the "subtree-delete-batch-size" property.

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 value of the "subtree-delete-batch-size" property.

setSubtreeDeleteBatchSize

void setSubtreeDeleteBatchSize(java.lang.Integer value)
                               throws IllegalPropertyValueException
Sets the "subtree-delete-batch-size" property.

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.

Parameters:
value - The value of the "subtree-delete-batch-size" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

getSubtreeDeleteSizeLimit

int getSubtreeDeleteSizeLimit()
Gets the "subtree-delete-size-limit" property.

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 value of the "subtree-delete-size-limit" property.

setSubtreeDeleteSizeLimit

void setSubtreeDeleteSizeLimit(java.lang.Integer value)
                               throws IllegalPropertyValueException
Sets the "subtree-delete-size-limit" property.

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.

Parameters:
value - The value of the "subtree-delete-size-limit" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

getWritabilityMode

BackendCfgDefn.WritabilityMode getWritabilityMode()
Gets the "writability-mode" property.

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

Specified by:
getWritabilityMode in interface BackendCfgClient
Returns:
Returns the value of the "writability-mode" property.

setWritabilityMode

void setWritabilityMode(BackendCfgDefn.WritabilityMode value)
                        throws IllegalPropertyValueException
Sets the "writability-mode" property.

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

Specified by:
setWritabilityMode in interface BackendCfgClient
Parameters:
value - The value of the "writability-mode" property.
Throws:
IllegalPropertyValueException - If the new value is invalid.

listLocalDBIndexes

java.lang.String[] listLocalDBIndexes()
                                      throws ConcurrentModificationException,
                                             AuthorizationException,
                                             CommunicationException
Lists the Local DB Indexes.

Returns:
Returns an array containing the names of the Local DB Indexes.
Throws:
ConcurrentModificationException - If this Local DB Backend has been removed from the server by another client.
AuthorizationException - If the server refuses to list the Local DB Indexes because the client does not have the correct privileges.
CommunicationException - If the client cannot contact the server due to an underlying communication problem.

getLocalDBIndex

LocalDBIndexCfgClient getLocalDBIndex(java.lang.String name)
                                      throws DefinitionDecodingException,
                                             ManagedObjectDecodingException,
                                             ManagedObjectNotFoundException,
                                             ConcurrentModificationException,
                                             AuthorizationException,
                                             CommunicationException
Gets the named Local DB Index.

Parameters:
name - The name of the Local DB Index to retrieve.
Returns:
Returns the named Local DB Index.
Throws:
DefinitionDecodingException - If the named Local DB Index was found but its type could not be determined.
ManagedObjectDecodingException - If the named Local DB Index was found but one or more of its properties could not be decoded.
ManagedObjectNotFoundException - If the named Local DB Index was not found on the server.
ConcurrentModificationException - If this Local DB Backend has been removed from the server by another client.
AuthorizationException - If the server refuses to retrieve the named Local DB Index because the client does not have the correct privileges.
CommunicationException - If the client cannot contact the server due to an underlying communication problem.

createLocalDBIndex

<C extends LocalDBIndexCfgClient> C createLocalDBIndex(ManagedObjectDefinition<C,? extends LocalDBIndexCfg> d,
                                                       java.lang.String name,
                                                       java.util.Collection<DefaultBehaviorException> exceptions)
                                                   throws IllegalManagedObjectNameException
Creates a new Local DB Index. The new Local DB Index will initially not contain any property values (including mandatory properties). Once the Local DB Index has been configured it can be added to the server using the ConfigurationClient.commit() method.

Type Parameters:
C - The type of the Local DB Index being created.
Parameters:
d - The definition of the Local DB Index to be created.
name - The name of the new Local DB Index.
exceptions - An optional collection in which to place any DefaultBehaviorExceptions that occurred whilst attempting to determine the default values of the Local DB Index. This argument can be null.
Returns:
Returns a new Local DB Index configuration instance.
Throws:
IllegalManagedObjectNameException - If the name of the new Local DB Index is invalid.

removeLocalDBIndex

void removeLocalDBIndex(java.lang.String name)
                        throws ManagedObjectNotFoundException,
                               OperationRejectedException,
                               ConcurrentModificationException,
                               AuthorizationException,
                               CommunicationException
Removes the named Local DB Index.

Parameters:
name - The name of the Local DB Index to remove.
Throws:
ManagedObjectNotFoundException - If the Local DB Index does not exist.
OperationRejectedException - If the server refuses to remove the Local DB Index due to some server-side constraint which cannot be satisfied (for example, if it is referenced by another managed object).
ConcurrentModificationException - If this Local DB Backend has been removed from the server by another client.
AuthorizationException - If the server refuses to remove the Local DB Index because the client does not have the correct privileges.
CommunicationException - If the client cannot contact the server due to an underlying communication problem.

listLocalDBVLVIndexes

java.lang.String[] listLocalDBVLVIndexes()
                                         throws ConcurrentModificationException,
                                                AuthorizationException,
                                                CommunicationException
Lists the Local DB VLV Indexes.

Returns:
Returns an array containing the names of the Local DB VLV Indexes.
Throws:
ConcurrentModificationException - If this Local DB Backend has been removed from the server by another client.
AuthorizationException - If the server refuses to list the Local DB VLV Indexes because the client does not have the correct privileges.
CommunicationException - If the client cannot contact the server due to an underlying communication problem.

getLocalDBVLVIndex

LocalDBVLVIndexCfgClient getLocalDBVLVIndex(java.lang.String name)
                                            throws DefinitionDecodingException,
                                                   ManagedObjectDecodingException,
                                                   ManagedObjectNotFoundException,
                                                   ConcurrentModificationException,
                                                   AuthorizationException,
                                                   CommunicationException
Gets the named Local DB VLV Index.

Parameters:
name - The name of the Local DB VLV Index to retrieve.
Returns:
Returns the named Local DB VLV Index.
Throws:
DefinitionDecodingException - If the named Local DB VLV Index was found but its type could not be determined.
ManagedObjectDecodingException - If the named Local DB VLV Index was found but one or more of its properties could not be decoded.
ManagedObjectNotFoundException - If the named Local DB VLV Index was not found on the server.
ConcurrentModificationException - If this Local DB Backend has been removed from the server by another client.
AuthorizationException - If the server refuses to retrieve the named Local DB VLV Index because the client does not have the correct privileges.
CommunicationException - If the client cannot contact the server due to an underlying communication problem.

createLocalDBVLVIndex

<C extends LocalDBVLVIndexCfgClient> C createLocalDBVLVIndex(ManagedObjectDefinition<C,? extends LocalDBVLVIndexCfg> d,
                                                             java.lang.String name,
                                                             java.util.Collection<DefaultBehaviorException> exceptions)
                                                         throws IllegalManagedObjectNameException
Creates a new Local DB VLV Index. The new Local DB VLV Index will initially not contain any property values (including mandatory properties). Once the Local DB VLV Index has been configured it can be added to the server using the ConfigurationClient.commit() method.

Type Parameters:
C - The type of the Local DB VLV Index being created.
Parameters:
d - The definition of the Local DB VLV Index to be created.
name - The name of the new Local DB VLV Index.
exceptions - An optional collection in which to place any DefaultBehaviorExceptions that occurred whilst attempting to determine the default values of the Local DB VLV Index. This argument can be null.
Returns:
Returns a new Local DB VLV Index configuration instance.
Throws:
IllegalManagedObjectNameException - If the name of the new Local DB VLV Index is invalid.

removeLocalDBVLVIndex

void removeLocalDBVLVIndex(java.lang.String name)
                           throws ManagedObjectNotFoundException,
                                  OperationRejectedException,
                                  ConcurrentModificationException,
                                  AuthorizationException,
                                  CommunicationException
Removes the named Local DB VLV Index.

Parameters:
name - The name of the Local DB VLV Index to remove.
Throws:
ManagedObjectNotFoundException - If the Local DB VLV Index does not exist.
OperationRejectedException - If the server refuses to remove the Local DB VLV Index due to some server-side constraint which cannot be satisfied (for example, if it is referenced by another managed object).
ConcurrentModificationException - If this Local DB Backend has been removed from the server by another client.
AuthorizationException - If the server refuses to remove the Local DB VLV Index because the client does not have the correct privileges.
CommunicationException - If the client cannot contact the server due to an underlying communication problem.