Class EntryContainer
- java.lang.Object
-
- org.opends.server.backends.pluggable.EntryContainer
-
- All Implemented Interfaces:
ConfigurationChangeListener<PluggableBackendCfg>
public 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
Fields Modifier and Type Field Description static Control
FORCE_NON_ATOMIC_CONTROL
The control to force the usage of a non-atomic subtree deletion algorithm.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ConfigChangeResult
applyConfigurationChange(PluggableBackendCfg cfg)
Applies 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.String
toString()
-
-
-
Field Detail
-
FORCE_NON_ATOMIC_CONTROL
public static final Control FORCE_NON_ATOMIC_CONTROL
The control to force the usage of a non-atomic subtree deletion algorithm. For testing purpose.
-
-
Method Detail
-
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
public ConfigChangeResult applyConfigurationChange(PluggableBackendCfg cfg)
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.
-
-