From e4358a2e205fbf6b6918effa6cb373dfcaf46091 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Thu, 18 Dec 2014 10:51:16 +0000
Subject: [PATCH] OPENDJ-1602 (CR-5566) New pluggable storage based backend

---
 opendj3-server-dev/src/admin/defn/org/opends/server/admin/std/PersistitBackendConfiguration.xml |  289 ---------------------------------------------------------
 1 files changed, 2 insertions(+), 287 deletions(-)

diff --git a/opendj3-server-dev/src/admin/defn/org/opends/server/admin/std/PersistitBackendConfiguration.xml b/opendj3-server-dev/src/admin/defn/org/opends/server/admin/std/PersistitBackendConfiguration.xml
index cfb52c5..1a5a8ca 100644
--- a/opendj3-server-dev/src/admin/defn/org/opends/server/admin/std/PersistitBackendConfiguration.xml
+++ b/opendj3-server-dev/src/admin/defn/org/opends/server/admin/std/PersistitBackendConfiguration.xml
@@ -26,7 +26,7 @@
   ! -->
 <adm:managed-object name="persistit-backend"
   plural-name="persistit-backends" package="org.opends.server.admin.std"
-  extends="backend" xmlns:adm="http://www.opends.org/admin"
+  extends="pluggable-backend" xmlns:adm="http://www.opends.org/admin"
   xmlns:ldap="http://www.opends.org/admin-ldap"
   xmlns:cli="http://www.opends.org/admin-cli">
   <adm:synopsis>
@@ -36,294 +36,9 @@
   <adm:profile name="ldap">
     <ldap:object-class>
       <ldap:name>ds-cfg-persistit-backend</ldap:name>
-      <ldap:superior>ds-cfg-backend</ldap:superior>
+      <ldap:superior>ds-cfg-pluggable-backend</ldap:superior>
     </ldap:object-class>
   </adm:profile>
-  <adm:relation name="backend-index" managed-object-name="local-db-index">
-    <adm:one-to-many naming-property="attribute" plural-name="backend-indexes">
-      <adm:default-managed-object name="aci">
-        <adm:property name="index-type">
-          <adm:value>presence</adm:value>
-        </adm:property>
-        <adm:property name="attribute">
-          <adm:value>aci</adm:value>
-        </adm:property>
-      </adm:default-managed-object>
-      <adm:default-managed-object name="entryUUID">
-        <adm:property name="index-type">
-          <adm:value>equality</adm:value>
-        </adm:property>
-        <adm:property name="attribute">
-          <adm:value>entryUUID</adm:value>
-        </adm:property>
-      </adm:default-managed-object>
-      <adm:default-managed-object name="objectClass">
-        <adm:property name="index-type">
-          <adm:value>equality</adm:value>
-        </adm:property>
-        <adm:property name="attribute">
-          <adm:value>objectClass</adm:value>
-        </adm:property>
-      </adm:default-managed-object>
-      <adm:default-managed-object name="ds-sync-hist">
-        <adm:property name="index-type">
-          <adm:value>ordering</adm:value>
-        </adm:property>
-        <adm:property name="attribute">
-          <adm:value>ds-sync-hist</adm:value>
-        </adm:property>
-      </adm:default-managed-object>
-      <adm:default-managed-object name="ds-sync-conflict">
-        <adm:property name="index-type">
-          <adm:value>equality</adm:value>
-        </adm:property>
-        <adm:property name="attribute">
-          <adm:value>ds-sync-conflict</adm:value>
-        </adm:property>
-      </adm:default-managed-object>
-    </adm:one-to-many>
-    <adm:profile name="ldap">
-      <ldap:rdn-sequence>cn=Index</ldap:rdn-sequence>
-    </adm:profile>
-    <adm:profile name="cli">
-      <cli:relation>
-        <cli:default-property name="index-type" />
-        <cli:default-property name="index-entry-limit" />
-        <cli:default-property name="index-extensible-matching-rule" />
-      </cli:relation>
-    </adm:profile>
-  </adm:relation>
-  <adm:relation name="backend-vlv-index" managed-object-name="local-db-vlv-index">
-    <adm:one-to-many naming-property="name" plural-name="backend-vlv-indexes"/>
-    <adm:profile name="ldap">
-      <ldap:rdn-sequence>cn=VLV Index</ldap:rdn-sequence>
-    </adm:profile>
-    <adm:profile name="cli">
-      <cli:relation>
-        <cli:default-property name="base-dn" />
-        <cli:default-property name="scope" />
-        <cli:default-property name="filter" />
-        <cli:default-property name="sort-order" />
-      </cli:relation>
-    </adm:profile>
-  </adm:relation>
-  <adm:property-override name="writability-mode">
-    <adm:default-behavior>
-      <adm:defined>
-        <adm:value>enabled</adm:value>
-      </adm:defined>
-    </adm:default-behavior>
-  </adm:property-override>
-  <adm:property name="compact-encoding">
-    <adm:synopsis>
-      Indicates whether the backend should use a compact form when
-      encoding entries by compressing the attribute descriptions and
-      object class sets.
-    </adm:synopsis>
-    <adm:description>
-      Note that this property applies only to the entries themselves and
-      does not impact the index data.
-    </adm:description>
-    <adm:requires-admin-action>
-      <adm:none>
-        <adm:synopsis>
-          Changes to this setting take effect only for writes that
-          occur after the change is made. It is not retroactively
-          applied to existing data.
-        </adm:synopsis>
-      </adm:none>
-    </adm:requires-admin-action>
-    <adm:default-behavior>
-      <adm:defined>
-        <adm:value>true</adm:value>
-      </adm:defined>
-    </adm:default-behavior>
-    <adm:syntax>
-      <adm:boolean />
-    </adm:syntax>
-    <adm:profile name="ldap">
-      <ldap:attribute>
-        <ldap:name>ds-cfg-compact-encoding</ldap:name>
-      </ldap:attribute>
-    </adm:profile>
-  </adm:property>
-  <adm:property name="entries-compressed" advanced="true">
-    <adm:synopsis>
-      Indicates whether the backend should attempt to compress entries
-      before storing them in the database.
-    </adm:synopsis>
-    <adm:description>
-      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.
-    </adm:description>
-    <adm:requires-admin-action>
-      <adm:none>
-        <adm:synopsis>
-          Changes to this setting take effect only for writes that
-          occur after the change is made. It is not retroactively
-          applied to existing data.
-        </adm:synopsis>
-      </adm:none>
-    </adm:requires-admin-action>
-    <adm:default-behavior>
-      <adm:defined>
-        <adm:value>false</adm:value>
-      </adm:defined>
-    </adm:default-behavior>
-    <adm:syntax>
-      <adm:boolean />
-    </adm:syntax>
-    <adm:profile name="ldap">
-      <ldap:attribute>
-        <ldap:name>ds-cfg-entries-compressed</ldap:name>
-      </ldap:attribute>
-    </adm:profile>
-  </adm:property>
-  <adm:property name="index-entry-limit">
-    <adm:synopsis>
-      Specifies the maximum number of entries that is allowed to
-      match a given index key before that particular index key is no
-      longer maintained.
-    </adm:synopsis>
-    <adm:description>
-      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.
-    </adm:description>
-    <adm:requires-admin-action>
-      <adm:none>
-        <adm:synopsis>
-          If any index keys have already reached this limit, indexes
-          need to be rebuilt before they are allowed to use the
-          new limit.
-        </adm:synopsis>
-      </adm:none>
-    </adm:requires-admin-action>
-    <adm:default-behavior>
-      <adm:defined>
-        <adm:value>4000</adm:value>
-      </adm:defined>
-    </adm:default-behavior>
-    <adm:syntax>
-      <adm:integer lower-limit="0" upper-limit="2147483647" />
-    </adm:syntax>
-    <adm:profile name="ldap">
-      <ldap:attribute>
-        <ldap:name>ds-cfg-index-entry-limit</ldap:name>
-      </ldap:attribute>
-    </adm:profile>
-  </adm:property>
-  <adm:property name="preload-time-limit" advanced="true">
-    <adm:synopsis>
-      Specifies the length of time that the backend is allowed to
-      spend "pre-loading" data when it is initialized.
-    </adm:synopsis>
-    <adm:description>
-      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.
-    </adm:description>
-    <adm:default-behavior>
-      <adm:defined>
-        <adm:value>0s</adm:value>
-      </adm:defined>
-    </adm:default-behavior>
-    <adm:syntax>
-      <adm:duration base-unit="ms" lower-limit="0" upper-limit="2147483647" />
-    </adm:syntax>
-    <adm:profile name="ldap">
-      <ldap:attribute>
-        <ldap:name>ds-cfg-preload-time-limit</ldap:name>
-      </ldap:attribute>
-    </adm:profile>
-  </adm:property>
-  <adm:property name="index-filter-analyzer-enabled" advanced="true">
-    <adm:synopsis>
-      Indicates whether to gather statistical information about the search
-        filters processed by the directory server while evaluating the usage of
-        indexes.
-    </adm:synopsis>
-    <adm:description>
-      Analyzing indexes requires gathering search filter usage patterns from
-        user requests, especially for values as specified in the filters and
-        subsequently looking the status of those values into the index files.
-        When a search requests is processed, internal or user generated, a
-        first phase uses indexes to find potential entries to be returned.
-        Depending on the search filter, if the index of one of the specified
-        attributes matches too many entries (exceeds the index entry limit),
-        the search becomes non-indexed. In any case, all entries thus
-        gathered (or the entire DIT) are matched against the filter for
-        actually returning the search result.
-    </adm:description>
-    <adm:default-behavior>
-      <adm:defined>
-        <adm:value>false</adm:value>
-      </adm:defined>
-    </adm:default-behavior>
-    <adm:syntax>
-      <adm:boolean />
-    </adm:syntax>
-    <adm:profile name="ldap">
-      <ldap:attribute>
-        <ldap:name>ds-cfg-index-filter-analyzer-enabled</ldap:name>
-      </ldap:attribute>
-    </adm:profile>
-  </adm:property>
-  <adm:property name="index-filter-analyzer-max-filters" advanced="true">
-    <adm:synopsis>
-      The maximum number of search filter statistics to keep.
-    </adm:synopsis>
-    <adm:description>
-      When the maximum number of search filter is reached, the least used one
-      will be deleted.
-    </adm:description>
-    <adm:default-behavior>
-      <adm:defined>
-        <adm:value>25</adm:value>
-      </adm:defined>
-    </adm:default-behavior>
-    <adm:syntax>
-      <adm:integer lower-limit="1" />
-    </adm:syntax>
-    <adm:profile name="ldap">
-      <ldap:attribute>
-        <ldap:name>ds-cfg-index-filter-analyzer-max-filters</ldap:name>
-      </ldap:attribute>
-    </adm:profile>
-  </adm:property>
-  <adm:property name="subordinate-indexes-enabled" advanced="true">
-    <adm:synopsis>
-      Indicates whether id2children and id2subtree indexes should be used for
-      this backend. These indexes are used for constraining filtered searches
-      to the search request's scope as well as for generating values for the
-      hasSubordinates and numSubordinates virtual attributes.
-    </adm:synopsis>
-    <adm:description>
-      Subordinate indexing is enabled by default and should only be disabled
-      for specialized use cases. A typical use case is where the backend is
-      to be subjected to heavy add/delete load beneath the same parent entry
-      such as when used as a session database. Disabling the subordinate
-      indexes means that the numSubordinates and hasSubordinates virtual
-      attributes will not be supported.
-    </adm:description>
-    <adm:default-behavior>
-      <adm:defined>
-        <adm:value>true</adm:value>
-      </adm:defined>
-    </adm:default-behavior>
-    <adm:syntax>
-      <adm:boolean />
-    </adm:syntax>
-    <adm:profile name="ldap">
-      <ldap:attribute>
-        <ldap:name>ds-cfg-subordinate-indexes-enabled</ldap:name>
-      </ldap:attribute>
-    </adm:profile>
-  </adm:property>
   <adm:property-override name="java-class" advanced="true">
     <adm:default-behavior>
       <adm:defined>

--
Gitblit v1.10.0