You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by lq...@apache.org on 2017/03/22 11:40:57 UTC
svn commit: r1788096 - in
/qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src:
main/java/org/apache/qpid/server/protocol/v1_0/store/bdb/
test/java/org/apache/qpid/server/protocol/v1_0/store/bdb/
Author: lquack
Date: Wed Mar 22 11:40:57 2017
New Revision: 1788096
URL: http://svn.apache.org/viewvc?rev=1788096&view=rev
Log:
QPID-7663: [Java Broker] fix failing tests
Modified:
qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/main/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStore.java
qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/main/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStoreFactory.java
qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/test/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStoreTest.java
Modified: qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/main/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStore.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/main/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStore.java?rev=1788096&r1=1788095&r2=1788096&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/main/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStore.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/main/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStore.java Wed Mar 22 11:40:57 2017
@@ -48,6 +48,7 @@ import org.apache.qpid.server.protocol.v
import org.apache.qpid.server.protocol.v1_0.store.LinkStoreUpdater;
import org.apache.qpid.server.protocol.v1_0.type.messaging.TerminusDurability;
import org.apache.qpid.server.store.StoreException;
+import org.apache.qpid.server.store.berkeleydb.BDBEnvironmentContainer;
import org.apache.qpid.server.store.berkeleydb.EnvironmentFacade;
public class BDBLinkStore implements LinkStore
@@ -56,13 +57,13 @@ public class BDBLinkStore implements Lin
private static final String LINKS_DB_NAME = "AMQP_1_0_LINKS";
private static final String LINKS_VERSION_DB_NAME = "AMQP_1_0_LINKS_VERSION";
- private volatile StoreState _storeState = StoreState.CLOSED;
private final ReentrantReadWriteLock _useOrCloseRWLock = new ReentrantReadWriteLock(true);
- private final EnvironmentFacade _environmentFacade;
+ private final BDBEnvironmentContainer<?> _environmentContainer;
+ private volatile StoreState _storeState = StoreState.CLOSED;
- BDBLinkStore(final EnvironmentFacade facade)
+ BDBLinkStore(final BDBEnvironmentContainer<?> environmentContainer)
{
- _environmentFacade = facade;
+ _environmentContainer = environmentContainer;
}
@Override
@@ -77,7 +78,7 @@ public class BDBLinkStore implements Lin
}
catch (RuntimeException e)
{
- throw _environmentFacade.handleDatabaseException("Failed recovery of links", e);
+ throw getEnvironmentFacade().handleDatabaseException("Failed recovery of links", e);
}
finally
{
@@ -96,12 +97,12 @@ public class BDBLinkStore implements Lin
throw new StoreException("Store is not opened");
}
- Database linksDatabase = _environmentFacade.openDatabase(LINKS_DB_NAME, DEFAULT_DATABASE_CONFIG);
+ Database linksDatabase = getEnvironmentFacade().openDatabase(LINKS_DB_NAME, DEFAULT_DATABASE_CONFIG);
save(linksDatabase, null, link);
}
catch (RuntimeException e)
{
- throw _environmentFacade.handleDatabaseException(String.format("Failed saving of link '%s'", new LinkKey(link)), e);
+ throw getEnvironmentFacade().handleDatabaseException(String.format("Failed saving of link '%s'", new LinkKey(link)), e);
}
finally
{
@@ -121,7 +122,7 @@ public class BDBLinkStore implements Lin
throw new StoreException("Store is not opened");
}
- Database linksDatabase = _environmentFacade.openDatabase(LINKS_DB_NAME, DEFAULT_DATABASE_CONFIG);
+ Database linksDatabase = getEnvironmentFacade().openDatabase(LINKS_DB_NAME, DEFAULT_DATABASE_CONFIG);
final DatabaseEntry databaseEntry = new DatabaseEntry();
LinkKeyEntryBinding.getInstance().objectToEntry(linkKey, databaseEntry);
@@ -133,7 +134,7 @@ public class BDBLinkStore implements Lin
}
catch (RuntimeException e)
{
- throw _environmentFacade.handleDatabaseException(String.format("Failed deletion of link '%s'", linkKey), e);
+ throw getEnvironmentFacade().handleDatabaseException(String.format("Failed deletion of link '%s'", linkKey), e);
}
finally
{
@@ -163,12 +164,12 @@ public class BDBLinkStore implements Lin
try
{
close();
- _environmentFacade.deleteDatabase(LINKS_DB_NAME);
- _environmentFacade.deleteDatabase(LINKS_VERSION_DB_NAME);
+ getEnvironmentFacade().deleteDatabase(LINKS_DB_NAME);
+ getEnvironmentFacade().deleteDatabase(LINKS_VERSION_DB_NAME);
}
catch (RuntimeException e)
{
- _environmentFacade.handleDatabaseException("Failed deletion of database", e);
+ getEnvironmentFacade().handleDatabaseException("Failed deletion of database", e);
LOGGER.info("Failed to delete links database", e);
}
finally
@@ -183,9 +184,15 @@ public class BDBLinkStore implements Lin
return TerminusDurability.CONFIGURATION;
}
+ private EnvironmentFacade getEnvironmentFacade()
+ {
+ return _environmentContainer.getEnvironmentFacade();
+ }
+
+
private Collection<LinkDefinition> getLinkDefinitions(final LinkStoreUpdater updater)
{
- Database linksDatabase = _environmentFacade.openDatabase(LINKS_DB_NAME, DEFAULT_DATABASE_CONFIG);
+ Database linksDatabase = getEnvironmentFacade().openDatabase(LINKS_DB_NAME, DEFAULT_DATABASE_CONFIG);
Collection<LinkDefinition> links = new HashSet<>();
ModelVersion currentVersion =
@@ -214,10 +221,10 @@ public class BDBLinkStore implements Lin
if (storedVersion.lessThan(currentVersion))
{
links = updater.update(storedVersion.toString(), links);
- final Transaction txn = _environmentFacade.beginTransaction(null);
+ final Transaction txn = getEnvironmentFacade().beginTransaction(null);
try
{
- linksDatabase = _environmentFacade.clearDatabase(txn, LINKS_DB_NAME, DEFAULT_DATABASE_CONFIG);
+ linksDatabase = getEnvironmentFacade().clearDatabase(txn, LINKS_DB_NAME, DEFAULT_DATABASE_CONFIG);
for (LinkDefinition link : links)
{
save(linksDatabase, txn, link);
@@ -276,7 +283,7 @@ public class BDBLinkStore implements Lin
}
catch (RuntimeException e)
{
- throw _environmentFacade.handleDatabaseException("Cannot visit link version", e);
+ throw getEnvironmentFacade().handleDatabaseException("Cannot visit link version", e);
}
}
@@ -286,11 +293,11 @@ public class BDBLinkStore implements Lin
try
{
DatabaseConfig config = new DatabaseConfig().setTransactional(true).setAllowCreate(false);
- linksVersionDb = _environmentFacade.openDatabase(LINKS_VERSION_DB_NAME, config);
+ linksVersionDb = getEnvironmentFacade().openDatabase(LINKS_VERSION_DB_NAME, config);
}
catch (DatabaseNotFoundException e)
{
- linksVersionDb = _environmentFacade.openDatabase(LINKS_VERSION_DB_NAME, DEFAULT_DATABASE_CONFIG);
+ linksVersionDb = getEnvironmentFacade().openDatabase(LINKS_VERSION_DB_NAME, DEFAULT_DATABASE_CONFIG);
DatabaseEntry key = new DatabaseEntry();
DatabaseEntry value = new DatabaseEntry();
StringBinding.stringToEntry(BrokerModel.MODEL_VERSION, key);
Modified: qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/main/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStoreFactory.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/main/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStoreFactory.java?rev=1788096&r1=1788095&r2=1788096&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/main/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStoreFactory.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/main/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStoreFactory.java Wed Mar 22 11:40:57 2017
@@ -41,26 +41,19 @@ public class BDBLinkStoreFactory impleme
@Override
public LinkStore create(final NamedAddressSpace addressSpace)
{
- VirtualHost<?> virtualHost = (VirtualHost<?>)addressSpace;
- EnvironmentFacade facade;
+ VirtualHost<?> virtualHost = (VirtualHost<?>) addressSpace;
if (virtualHost instanceof BDBEnvironmentContainer)
{
- facade = ((BDBEnvironmentContainer)virtualHost).getEnvironmentFacade();
+ return new BDBLinkStore((BDBEnvironmentContainer<?>) virtualHost);
}
else if (virtualHost.getParent() instanceof BDBEnvironmentContainer)
{
- facade = ((BDBEnvironmentContainer)virtualHost.getParent()).getEnvironmentFacade();
+ return new BDBLinkStore((BDBEnvironmentContainer<?>) virtualHost.getParent());
}
else
{
throw new StoreException("Cannot create BDB Link Store for " + addressSpace);
}
-
- if (facade == null)
- {
- throw new StoreException("Cannot find BDB environment for " + addressSpace);
- }
- return new BDBLinkStore(facade);
}
@Override
Modified: qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/test/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStoreTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/test/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStoreTest.java?rev=1788096&r1=1788095&r2=1788096&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/test/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStoreTest.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/test/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStoreTest.java Wed Mar 22 11:40:57 2017
@@ -32,6 +32,7 @@ import com.sleepycat.je.CacheMode;
import org.apache.qpid.server.protocol.v1_0.store.LinkStore;
import org.apache.qpid.server.protocol.v1_0.store.LinkStoreTestCase;
+import org.apache.qpid.server.store.berkeleydb.BDBEnvironmentContainer;
import org.apache.qpid.server.store.berkeleydb.StandardEnvironmentConfiguration;
import org.apache.qpid.server.store.berkeleydb.StandardEnvironmentFacade;
import org.apache.qpid.server.util.FileUtils;
@@ -52,7 +53,9 @@ public class BDBLinkStoreTest extends Li
when(configuration.getParameters()).thenReturn(Collections.emptyMap());
_facade = new StandardEnvironmentFacade(configuration);
- return new BDBLinkStore(_facade);
+ BDBEnvironmentContainer environmentContainer = mock(BDBEnvironmentContainer.class);
+ when(environmentContainer.getEnvironmentFacade()).thenReturn(_facade);
+ return new BDBLinkStore(environmentContainer);
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org