From 6669e6d8a40905f214d83c36ffade6811b41844b Mon Sep 17 00:00:00 2001
From: Fabio Pistolesi <fabio.pistolesi@forgerock.com>
Date: Mon, 23 Mar 2015 13:55:15 +0000
Subject: [PATCH] OPENDJ-1727 CR-6350 db-cache-percent default values in persistit backend probably too aggressive
---
opendj-server-legacy/src/main/java/org/opends/server/backends/RootDSEBackend.java | 3 ++-
opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskBackend.java | 3 ++-
opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/BackendImpl.java | 20 ++++++--------------
opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/BackendImpl.java | 3 ++-
opendj-server-legacy/src/main/java/org/opends/server/core/BackendConfigManager.java | 5 ++---
opendj-server-legacy/src/main/java/org/opends/server/api/Backend.java | 15 +++------------
opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PitBackend.java | 6 ++++--
7 files changed, 21 insertions(+), 34 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/api/Backend.java b/opendj-server-legacy/src/main/java/org/opends/server/api/Backend.java
index d4f59b5..348afa0 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/api/Backend.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/api/Backend.java
@@ -113,16 +113,6 @@
new ConcurrentLinkedQueue<PersistentSearch>();
/**
- * Temporarily sets up the server context for the first phase of add of a new configuration entry.
- * Needed for checking storage parameters before committing the change in configuration.
- *
- * @param context the server context for this instance
- */
- public void setServerContext(ServerContext context)
- {
- }
-
- /**
* Configure this backend based on the information in the provided
* configuration.
*
@@ -149,13 +139,14 @@
* @param unacceptableReasons A list that may be used to hold the
* reasons that the provided
* configuration is not acceptable.
- *
+ * @param serverContext this Directory Server instance's server context
+ *
* @return {@code true} if the provided configuration is acceptable
* for this backend, or {@code false} if not.
*/
public boolean isConfigurationAcceptable(
C configuration,
- List<LocalizableMessage> unacceptableReasons)
+ List<LocalizableMessage> unacceptableReasons, ServerContext serverContext)
{
// This default implementation does not perform any special
// validation. It should be overridden by backend implementations
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/RootDSEBackend.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/RootDSEBackend.java
index 62a73b5..e1fbf41 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/RootDSEBackend.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/RootDSEBackend.java
@@ -967,7 +967,8 @@
/** {@inheritDoc} */
@Override
public boolean isConfigurationAcceptable(RootDSEBackendCfg config,
- List<LocalizableMessage> unacceptableReasons)
+ List<LocalizableMessage> unacceptableReasons,
+ ServerContext serverContext)
{
return isConfigurationChangeAcceptable(config, unacceptableReasons);
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/BackendImpl.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/BackendImpl.java
index 81e246d..7ad5d1c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/BackendImpl.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/jeb/BackendImpl.java
@@ -954,7 +954,8 @@
/** {@inheritDoc} */
@Override
public boolean isConfigurationAcceptable(LocalDBBackendCfg config,
- List<LocalizableMessage> unacceptableReasons)
+ List<LocalizableMessage> unacceptableReasons,
+ ServerContext serverContext)
{
return isConfigurationChangeAcceptable(config, unacceptableReasons);
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PitBackend.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PitBackend.java
index ef4acc8..52c0e7b 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PitBackend.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/persistit/PitBackend.java
@@ -33,6 +33,7 @@
import org.opends.server.admin.std.server.PersistitBackendCfg;
import org.opends.server.backends.pluggable.BackendImpl;
import org.opends.server.backends.pluggable.spi.Storage;
+import org.opends.server.core.ServerContext;
/**
* Class defined in the configuration for this backend type.
@@ -40,13 +41,14 @@
public final class PitBackend extends BackendImpl<PersistitBackendCfg>
{
@Override
- public boolean isConfigurationAcceptable(PersistitBackendCfg cfg, List<LocalizableMessage> unacceptableReasons)
+ public boolean isConfigurationAcceptable(PersistitBackendCfg cfg, List<LocalizableMessage> unacceptableReasons,
+ ServerContext serverContext)
{
return PersistItStorage.isConfigurationAcceptable(cfg, unacceptableReasons, serverContext);
}
@Override
- protected Storage configureStorage(PersistitBackendCfg cfg) throws ConfigException
+ protected Storage configureStorage(PersistitBackendCfg cfg, ServerContext serverContext) throws ConfigException
{
return new PersistItStorage(cfg, serverContext);
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/BackendImpl.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/BackendImpl.java
index 40de1cc..be79802 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/BackendImpl.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/pluggable/BackendImpl.java
@@ -95,9 +95,6 @@
OID_SERVER_SIDE_SORT_REQUEST_CONTROL,
OID_VLV_REQUEST_CONTROL));
- /** The server context for this directory server. */
- protected ServerContext serverContext;
-
/**
* Begin a Backend API method that accesses the database and returns the <code>EntryContainer</code> for
* <code>entryDN</code>.
@@ -152,9 +149,8 @@
Reject.ifNull(cfg);
this.cfg = cfg;
- this.serverContext = serverContext;
baseDNs = this.cfg.getBaseDN().toArray(new DN[0]);
- storage = new TracedStorage(configureStorage(cfg), cfg.getBackendId());
+ storage = new TracedStorage(configureStorage(cfg, serverContext), cfg.getBackendId());
}
/** {@inheritDoc} */
@@ -796,22 +792,18 @@
*
* @param cfg
* the configuration object
+ * @param serverContext
+ * this Directory Server intsance's server context
* @return The storage engine to be used by this pluggable backend.
* @throws ConfigException
* If there is an error in the configuration.
*/
- protected abstract Storage configureStorage(C cfg) throws ConfigException;
+ protected abstract Storage configureStorage(C cfg, ServerContext serverContext) throws ConfigException;
/** {@inheritDoc} */
@Override
- public void setServerContext(ServerContext context)
- {
- this.serverContext = context;
- }
-
- /** {@inheritDoc} */
- @Override
- public boolean isConfigurationAcceptable(C config, List<LocalizableMessage> unacceptableReasons)
+ public boolean isConfigurationAcceptable(C config, List<LocalizableMessage> unacceptableReasons,
+ ServerContext serverContext)
{
return isConfigurationChangeAcceptable(config, unacceptableReasons);
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskBackend.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskBackend.java
index d2157e4..db58b54 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskBackend.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/task/TaskBackend.java
@@ -1721,7 +1721,8 @@
/** {@inheritDoc} */
@Override
public boolean isConfigurationAcceptable(TaskBackendCfg config,
- List<LocalizableMessage> unacceptableReasons)
+ List<LocalizableMessage> unacceptableReasons,
+ ServerContext serverContext)
{
return isConfigAcceptable(config, unacceptableReasons, null);
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/core/BackendConfigManager.java b/opendj-server-legacy/src/main/java/org/opends/server/core/BackendConfigManager.java
index 733777b..9ca25dc 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/core/BackendConfigManager.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/core/BackendConfigManager.java
@@ -374,7 +374,7 @@
}
Backend b = backendClass.newInstance();
- if (! b.isConfigurationAcceptable(configEntry, unacceptableReason))
+ if (! b.isConfigurationAcceptable(configEntry, unacceptableReason, serverContext))
{
return false;
}
@@ -715,8 +715,7 @@
}
}
- backend.setServerContext(serverContext);
- if (!backend.isConfigurationAcceptable(configEntry, unacceptableReason))
+ if (!backend.isConfigurationAcceptable(configEntry, unacceptableReason, serverContext))
{
return false;
}
--
Gitblit v1.10.0