You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2016/01/24 00:47:30 UTC
svn commit: r1726456 - in
/qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb:
./ replication/
Author: kwall
Date: Sat Jan 23 23:47:30 2016
New Revision: 1726456
URL: http://svn.apache.org/viewvc?rev=1726456&view=rev
Log:
QPID-7016: [Java Broker] BDB - Allow cache mode to be overridden
Modified:
qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBUtils.java
qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/EnvironmentFacade.java
qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/EnvironmentFacadeFactory.java
qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/StandardEnvironmentConfiguration.java
qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/StandardEnvironmentFacade.java
qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/StandardEnvironmentFacadeFactory.java
qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java
qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeFactory.java
Modified: qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBUtils.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBUtils.java?rev=1726456&r1=1726455&r2=1726456&view=diff
==============================================================================
--- qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBUtils.java (original)
+++ qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBUtils.java Sat Jan 23 23:47:30 2016
@@ -24,6 +24,7 @@ import java.util.HashMap;
import java.util.Map;
import java.util.regex.Pattern;
+import com.sleepycat.je.CacheMode;
import com.sleepycat.je.CheckpointConfig;
import com.sleepycat.je.Cursor;
import com.sleepycat.je.DatabaseConfig;
@@ -154,4 +155,23 @@ public class BDBUtils
return targetMap;
}
+
+ public static CacheMode getCacheMode(final ConfiguredObject<?> object)
+ {
+ if (object.getContextKeys(false).contains(EnvironmentFacade.CACHE_MODE_PROPERTY_NAME))
+ {
+ try
+ {
+ return object.getContextValue(CacheMode.class, EnvironmentFacade.CACHE_MODE_PROPERTY_NAME);
+ }
+ catch (IllegalArgumentException iae)
+ {
+ LOGGER.warn("Failed to parse {} as {}",
+ object.getContextValue(String.class, EnvironmentFacade.CACHE_MODE_PROPERTY_NAME),
+ CacheMode.class,
+ iae);
+ }
+ }
+ return EnvironmentFacade.CACHE_MODE_DEFAULT;
+ }
}
Modified: qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/EnvironmentFacade.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/EnvironmentFacade.java?rev=1726456&r1=1726455&r2=1726456&view=diff
==============================================================================
--- qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/EnvironmentFacade.java (original)
+++ qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/EnvironmentFacade.java Sat Jan 23 23:47:30 2016
@@ -25,6 +25,7 @@ import java.util.HashMap;
import java.util.Map;
import com.google.common.util.concurrent.ListenableFuture;
+import com.sleepycat.je.CacheMode;
import com.sleepycat.je.Database;
import com.sleepycat.je.DatabaseConfig;
import com.sleepycat.je.DatabaseEntry;
@@ -52,6 +53,9 @@ public interface EnvironmentFacade
put(EnvironmentConfig.CLEANER_ADJUST_UTILIZATION, "false");
}});
+ String CACHE_MODE_PROPERTY_NAME = "qpid.bdb.cache_mode";
+ CacheMode CACHE_MODE_DEFAULT = CacheMode.EVICT_LN;
+
void upgradeIfNecessary(ConfiguredObject<?> parent);
Database openDatabase(String databaseName, DatabaseConfig databaseConfig);
Modified: qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/EnvironmentFacadeFactory.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/EnvironmentFacadeFactory.java?rev=1726456&r1=1726455&r2=1726456&view=diff
==============================================================================
--- qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/EnvironmentFacadeFactory.java (original)
+++ qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/EnvironmentFacadeFactory.java Sat Jan 23 23:47:30 2016
@@ -20,8 +20,6 @@
*/
package org.apache.qpid.server.store.berkeleydb;
-import java.util.regex.Pattern;
-
import org.apache.qpid.server.model.ConfiguredObject;
public interface EnvironmentFacadeFactory
Modified: qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/StandardEnvironmentConfiguration.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/StandardEnvironmentConfiguration.java?rev=1726456&r1=1726455&r2=1726456&view=diff
==============================================================================
--- qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/StandardEnvironmentConfiguration.java (original)
+++ qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/StandardEnvironmentConfiguration.java Sat Jan 23 23:47:30 2016
@@ -21,9 +21,12 @@ package org.apache.qpid.server.store.ber
import java.util.Map;
+import com.sleepycat.je.CacheMode;
+
public interface StandardEnvironmentConfiguration
{
String getName();
String getStorePath();
+ CacheMode getCacheMode();
Map<String, String> getParameters();
}
Modified: qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/StandardEnvironmentFacade.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/StandardEnvironmentFacade.java?rev=1726456&r1=1726455&r2=1726456&view=diff
==============================================================================
--- qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/StandardEnvironmentFacade.java (original)
+++ qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/StandardEnvironmentFacade.java Sat Jan 23 23:47:30 2016
@@ -102,9 +102,11 @@ public class StandardEnvironmentFacade i
EnvironmentConfig envConfig = new EnvironmentConfig();
envConfig.setAllowCreate(true);
envConfig.setTransactional(true);
- envConfig.setCacheMode(CacheMode.EVICT_LN);
+ envConfig.setCacheMode(configuration.getCacheMode());
envConfig.setLoggingHandler(new Slf4jLoggingHandler("["+configuration.getName()+"]"));
+ LOGGER.debug("Cache mode {}", envConfig.getCacheMode());
+
Map<String, String> params = new HashMap<>(EnvironmentFacade.ENVCONFIG_DEFAULTS);
params.putAll(configuration.getParameters());
Modified: qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/StandardEnvironmentFacadeFactory.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/StandardEnvironmentFacadeFactory.java?rev=1726456&r1=1726455&r2=1726456&view=diff
==============================================================================
--- qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/StandardEnvironmentFacadeFactory.java (original)
+++ qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/StandardEnvironmentFacadeFactory.java Sat Jan 23 23:47:30 2016
@@ -22,6 +22,7 @@ package org.apache.qpid.server.store.ber
import java.util.Map;
+import com.sleepycat.je.CacheMode;
import com.sleepycat.je.rep.impl.RepParams;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.store.FileBasedSettings;
@@ -60,6 +61,12 @@ public class StandardEnvironmentFacadeFa
}
@Override
+ public CacheMode getCacheMode()
+ {
+ return BDBUtils.getCacheMode(parent);
+ }
+
+ @Override
public Map<String, String> getParameters()
{
return BDBUtils.getEnvironmentConfigurationParameters(parent);
Modified: qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java?rev=1726456&r1=1726455&r2=1726456&view=diff
==============================================================================
--- qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java (original)
+++ qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacade.java Sat Jan 23 23:47:30 2016
@@ -1512,6 +1512,7 @@ public class ReplicatedEnvironmentFacade
LOGGER.info("Node priority " + priority);
LOGGER.info("Quorum override " + quorumOverride);
LOGGER.info("Permitted node list " + _permittedNodes);
+
}
Map<String, String> replicationEnvironmentParameters = new HashMap<>(ReplicatedEnvironmentFacade.REPCONFIG_DEFAULTS);
@@ -1540,9 +1541,11 @@ public class ReplicatedEnvironmentFacade
envConfig.setTransactional(true);
envConfig.setExceptionListener(new ExceptionListener());
envConfig.setDurability(_defaultDurability);
- envConfig.setCacheMode(CacheMode.EVICT_LN);
+ envConfig.setCacheMode(_configuration.getCacheMode());
envConfig.setLoggingHandler(new Slf4jLoggingHandler("[" + _configuration.getName() + "]"));
+ LOGGER.info("Cache mode {}", envConfig.getCacheMode());
+
for (Map.Entry<String, String> configItem : environmentParameters.entrySet())
{
if (LOGGER.isInfoEnabled())
Modified: qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeFactory.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeFactory.java?rev=1726456&r1=1726455&r2=1726456&view=diff
==============================================================================
--- qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeFactory.java (original)
+++ qpid/java/trunk/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeFactory.java Sat Jan 23 23:47:30 2016
@@ -22,6 +22,8 @@ package org.apache.qpid.server.store.ber
import java.util.Map;
+import com.sleepycat.je.CacheMode;
+
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.store.berkeleydb.BDBUtils;
import org.apache.qpid.server.store.berkeleydb.EnvironmentFacade;
@@ -50,6 +52,12 @@ public class ReplicatedEnvironmentFacade
}
@Override
+ public CacheMode getCacheMode()
+ {
+ return BDBUtils.getCacheMode(parent);
+ }
+
+ @Override
public Map<String, String> getParameters()
{
return BDBUtils.getEnvironmentConfigurationParameters(parent);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org