Class EntryContainer
java.lang.Object
org.opends.server.backends.pluggable.EntryContainer
- All Implemented Interfaces:
ConfigurationChangeListener<PluggableBackendCfg>
public final class EntryContainer
extends Object
implements ConfigurationChangeListener<PluggableBackendCfg>
Storage container for LDAP entries. Each base DN of a backend is given its own entry container. The entry container
is the object that implements the guts of the backend API methods for LDAP operations.
Avoiding deadlocks
To eliminate the risk of deadlocks all database operations either take care to only hold a single record lock at a time, or ensure that records are locked in a well-defined order. Firstly, indexes are accessed in the following order:- dn2id
- id2childrenCount (parent count)
- dn2uri
- id2childrenCount (total count)
- attribute and big indexes (ordered by index name)
- VLV indexes (ordered by index name)
- id2entry
-
Field Summary
Modifier and TypeFieldDescriptionstatic final Control
The control to force the usage of a non-atomic subtree deletion algorithm. -
Method Summary
Modifier and TypeMethodDescriptionApplies the configuration changes to this change listener.boolean
isConfigurationChangeAcceptable
(PluggableBackendCfg cfg, List<LocalizableMessage> unacceptableReasons) Indicates whether the proposed change to the configuration is acceptable to this change listener.toString()
-
Field Details
-
FORCE_NON_ATOMIC_CONTROL
The control to force the usage of a non-atomic subtree deletion algorithm. For testing purpose.
-
-
Method Details
-
isConfigurationChangeAcceptable
public boolean isConfigurationChangeAcceptable(PluggableBackendCfg cfg, List<LocalizableMessage> unacceptableReasons) Description copied from interface:ConfigurationChangeListener
Indicates whether the proposed change to the configuration is acceptable to this change listener.- Specified by:
isConfigurationChangeAcceptable
in interfaceConfigurationChangeListener<PluggableBackendCfg>
- Parameters:
cfg
- The new configuration containing the changes.unacceptableReasons
- A list that can be used to hold messages about why the provided configuration is not acceptable.- Returns:
- Returns
true
if the proposed change is acceptable, orfalse
if it is not.
-
applyConfigurationChange
Description copied from interface:ConfigurationChangeListener
Applies the configuration changes to this change listener.- Specified by:
applyConfigurationChange
in interfaceConfigurationChangeListener<PluggableBackendCfg>
- Parameters:
cfg
- The new configuration containing the changes.- Returns:
- Returns information about the result of changing the configuration.
-
toString
-