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: [email protected]
For additional commands, e-mail: [email protected]