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 2018/03/14 13:10:09 UTC
qpid-broker-j git commit: QPID-7873: [Broker-J] Further tighten the
onDelete contract by consistently ensuring that the message store is closed.
Repository: qpid-broker-j
Updated Branches:
refs/heads/master 36f1dd9f4 -> e8efe5624
QPID-7873: [Broker-J] Further tighten the onDelete contract by consistently ensuring that the message store is closed.
Also fixed a defect that meant that the messages belonging to a deleted Provided BDB Store would remain on disk.
Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/e8efe562
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/e8efe562
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/e8efe562
Branch: refs/heads/master
Commit: e8efe5624d5459a45bd10a887dfaa97ee55f9069
Parents: 36f1dd9
Author: Keith Wall <kw...@apache.org>
Authored: Wed Mar 14 13:07:00 2018 +0000
Committer: Keith Wall <kw...@apache.org>
Committed: Wed Mar 14 13:07:52 2018 +0000
----------------------------------------------------------------------
.../berkeleydb/AbstractBDBMessageStore.java | 113 ++++++++++++++++---
.../store/berkeleydb/BDBConfigurationStore.java | 53 ++-------
.../store/berkeleydb/BDBMessageStore.java | 76 +++----------
.../store/derby/DerbyConfigurationStore.java | 9 +-
.../server/store/derby/DerbyMessageStore.java | 6 +-
.../jdbc/GenericJDBCConfigurationStore.java | 9 +-
.../store/jdbc/GenericJDBCMessageStore.java | 2 +-
7 files changed, 144 insertions(+), 124 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/e8efe562/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java
----------------------------------------------------------------------
diff --git a/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java b/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java
index 10906ce..2e148e6 100644
--- a/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java
+++ b/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java
@@ -30,6 +30,7 @@ import java.util.Random;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;
import com.google.common.util.concurrent.ListenableFuture;
@@ -37,6 +38,7 @@ import com.sleepycat.bind.tuple.LongBinding;
import com.sleepycat.je.Cursor;
import com.sleepycat.je.Database;
import com.sleepycat.je.DatabaseEntry;
+import com.sleepycat.je.DatabaseNotFoundException;
import com.sleepycat.je.LockConflictException;
import com.sleepycat.je.LockMode;
import com.sleepycat.je.OperationStatus;
@@ -54,6 +56,7 @@ import org.apache.qpid.server.store.EventManager;
import org.apache.qpid.server.store.MessageEnqueueRecord;
import org.apache.qpid.server.store.MessageHandle;
import org.apache.qpid.server.store.MessageStore;
+import org.apache.qpid.server.store.SizeMonitoringSettings;
import org.apache.qpid.server.store.StorableMessageMetaData;
import org.apache.qpid.server.store.StoreException;
import org.apache.qpid.server.store.StoredMessage;
@@ -85,6 +88,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore
private static final String BRIDGEDB_NAME = "BRIDGES";
private static final String LINKDB_NAME = "LINKS";
private static final String XID_DB_NAME = "XIDS";
+ private final AtomicBoolean _messageStoreOpen = new AtomicBoolean();
private final EventManager _eventManager = new EventManager();
@@ -96,6 +100,9 @@ public abstract class AbstractBDBMessageStore implements MessageStore
setInitialValue(1).
setWrap(true).
setCacheSize(100000);
+ protected ConfiguredObject<?> _parent;
+ protected long _persistentSizeLowThreshold;
+ protected long _persistentSizeHighThreshold;
private boolean _limitBusted;
private long _totalStoreSize;
@@ -106,6 +113,46 @@ public abstract class AbstractBDBMessageStore implements MessageStore
private final Set<MessageDeleteListener> _messageDeleteListeners = Collections.newSetFromMap(new ConcurrentHashMap<>());
@Override
+ public void openMessageStore(final ConfiguredObject<?> parent)
+ {
+ if (_messageStoreOpen.compareAndSet(false, true))
+ {
+ _parent = parent;
+
+ final SizeMonitoringSettings sizeMonitorSettings = (SizeMonitoringSettings) parent;
+ _persistentSizeHighThreshold = sizeMonitorSettings.getStoreOverfullSize();
+ _persistentSizeLowThreshold = sizeMonitorSettings.getStoreUnderfullSize();
+
+ if (_persistentSizeLowThreshold > _persistentSizeHighThreshold || _persistentSizeLowThreshold < 0L)
+ {
+ _persistentSizeLowThreshold = _persistentSizeHighThreshold;
+ }
+
+ doOpen(parent);
+ }
+ }
+
+ protected abstract void doOpen(final ConfiguredObject<?> parent);
+
+ @Override
+ public void closeMessageStore()
+ {
+ if (_messageStoreOpen.compareAndSet(true, false))
+ {
+ for (StoredBDBMessage<?> message : _messages)
+ {
+ message.clear();
+ }
+ _messages.clear();
+ _inMemorySize.set(0);
+ _bytesEvacuatedFromMemory.set(0);
+ doClose();
+ }
+ }
+
+ protected abstract void doClose();
+
+ @Override
public void upgradeStoreStructure() throws StoreException
{
try
@@ -121,6 +168,37 @@ public abstract class AbstractBDBMessageStore implements MessageStore
}
}
+ protected void deleteMessageStoreDatabases()
+ {
+ try
+ {
+ for (String db : Arrays.asList(MESSAGE_META_DATA_DB_NAME,
+ MESSAGE_META_DATA_SEQ_DB_NAME,
+ MESSAGE_CONTENT_DB_NAME,
+ DELIVERY_DB_NAME,
+ XID_DB_NAME))
+ {
+ try
+ {
+
+ getEnvironmentFacade().deleteDatabase(db);
+ }
+ catch (DatabaseNotFoundException ignore)
+ {
+ }
+
+ }
+ }
+ catch (IllegalStateException e)
+ {
+ getLogger().warn("Could not delete message store databases: {}", e.getMessage());
+ }
+ catch (RuntimeException e)
+ {
+ getEnvironmentFacade().handleDatabaseException("Deletion of message store databases failed", e);
+ }
+ }
+
@Override
public <T extends StorableMessageMetaData> MessageHandle<T> addMessage(T metaData)
{
@@ -193,18 +271,6 @@ public abstract class AbstractBDBMessageStore implements MessageStore
}
@Override
- public void closeMessageStore()
- {
- for (StoredBDBMessage<?> message : _messages)
- {
- message.clear();
- }
- _messages.clear();
- _inMemorySize.set(0);
- _bytesEvacuatedFromMemory.set(0);
- }
-
- @Override
public MessageStoreReader newMessageStoreReader()
{
return new BDBMessageStoreReader();
@@ -843,15 +909,32 @@ public abstract class AbstractBDBMessageStore implements MessageStore
return getEnvironmentFacade().openDatabase(XID_DB_NAME, DEFAULT_DATABASE_CONFIG);
}
- protected abstract void checkMessageStoreOpen();
+ protected void checkMessageStoreOpen()
+ {
+ if (!_messageStoreOpen.get())
+ {
+ throw new IllegalStateException("Message store is not open");
+ }
+ }
+
+ protected boolean isMessageStoreOpen()
+ {
+ return _messageStoreOpen.get();
+ }
protected abstract ConfiguredObject<?> getParent();
protected abstract EnvironmentFacade getEnvironmentFacade();
- protected abstract long getPersistentSizeLowThreshold();
+ protected long getPersistentSizeLowThreshold()
+ {
+ return _persistentSizeLowThreshold;
+ }
- protected abstract long getPersistentSizeHighThreshold();
+ protected long getPersistentSizeHighThreshold()
+ {
+ return _persistentSizeHighThreshold;
+ }
protected abstract Logger getLogger();
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/e8efe562/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBConfigurationStore.java
----------------------------------------------------------------------
diff --git a/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBConfigurationStore.java b/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBConfigurationStore.java
index ca7b4dd..f4a1e83 100644
--- a/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBConfigurationStore.java
+++ b/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBConfigurationStore.java
@@ -33,7 +33,6 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
-import java.util.concurrent.atomic.AtomicBoolean;
import com.sleepycat.je.Cursor;
import com.sleepycat.je.Database;
@@ -50,7 +49,6 @@ import org.apache.qpid.server.store.DurableConfigurationStore;
import org.apache.qpid.server.store.FileBasedSettings;
import org.apache.qpid.server.store.MessageStore;
import org.apache.qpid.server.store.MessageStoreProvider;
-import org.apache.qpid.server.store.SizeMonitoringSettings;
import org.apache.qpid.server.store.StoreException;
import org.apache.qpid.server.store.berkeleydb.entry.HierarchyKey;
import org.apache.qpid.server.store.berkeleydb.tuple.ConfiguredObjectBinding;
@@ -74,7 +72,7 @@ public class BDBConfigurationStore implements MessageStoreProvider, DurableConfi
private static final String CONFIGURED_OBJECTS_DB_NAME = "CONFIGURED_OBJECTS";
private static final String CONFIGURED_OBJECT_HIERARCHY_DB_NAME = "CONFIGURED_OBJECT_HIERARCHY";
- enum State { CLOSED, CONFIGURED, OPEN };
+ enum State { CLOSED, CONFIGURED, OPEN }
private State _state = State.CLOSED;
private final Object _lock = new Object();
@@ -344,7 +342,7 @@ public class BDBConfigurationStore implements MessageStoreProvider, DurableConfi
{
txn = _environmentFacade.beginTransaction(null);
- Collection<UUID> removed = new ArrayList<UUID>(objects.length);
+ Collection<UUID> removed = new ArrayList<>(objects.length);
for(ConfiguredObjectRecord record : objects)
{
if(removeConfiguredObject(txn, record) == OperationStatus.SUCCESS)
@@ -559,41 +557,14 @@ public class BDBConfigurationStore implements MessageStoreProvider, DurableConfi
class ProvidedBDBMessageStore extends AbstractBDBMessageStore
{
- private final AtomicBoolean _messageStoreOpen = new AtomicBoolean();
-
- private long _persistentSizeLowThreshold;
- private long _persistentSizeHighThreshold;
-
- private ConfiguredObject<?> _parent;
-
@Override
- public void openMessageStore(final ConfiguredObject<?> parent)
+ protected void doOpen(final ConfiguredObject<?> parent)
{
- if (_messageStoreOpen.compareAndSet(false, true))
- {
- _parent = parent;
-
- final SizeMonitoringSettings sizeMonitorSettings = (SizeMonitoringSettings) parent;
- _persistentSizeHighThreshold = sizeMonitorSettings.getStoreOverfullSize();
- _persistentSizeLowThreshold = sizeMonitorSettings.getStoreUnderfullSize();
-
- if (_persistentSizeLowThreshold > _persistentSizeHighThreshold || _persistentSizeLowThreshold < 0l)
- {
- _persistentSizeLowThreshold = _persistentSizeHighThreshold;
- }
- }
- }
-
- public boolean isMessageStoreOpen()
- {
- return _messageStoreOpen.get();
}
@Override
- public void closeMessageStore()
+ protected void doClose()
{
- super.closeMessageStore();
- _messageStoreOpen.set(false);
}
@Override
@@ -605,7 +576,12 @@ public class BDBConfigurationStore implements MessageStoreProvider, DurableConfi
@Override
public void onDelete(ConfiguredObject<?> parent)
{
- // Nothing to do, message store will be deleted when configuration store is deleted
+ if (isMessageStoreOpen())
+ {
+ throw new IllegalStateException("Cannot delete the store as store is still open");
+ }
+
+ deleteMessageStoreDatabases();
}
@Override
@@ -639,15 +615,6 @@ public class BDBConfigurationStore implements MessageStoreProvider, DurableConfi
}
@Override
- protected void checkMessageStoreOpen()
- {
- if (!_messageStoreOpen.get())
- {
- throw new IllegalStateException("Message store is not open");
- }
- }
-
- @Override
protected Logger getLogger()
{
return LOGGER;
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/e8efe562/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java
----------------------------------------------------------------------
diff --git a/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java b/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java
index 83df5aa..c3e4133 100644
--- a/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java
+++ b/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java
@@ -41,15 +41,8 @@ public class BDBMessageStore extends AbstractBDBMessageStore
private final EnvironmentFacadeFactory _environmentFacadeFactory;
- private final AtomicBoolean _messageStoreOpen = new AtomicBoolean();
-
private EnvironmentFacade _environmentFacade;
- private ConfiguredObject<?> _parent;
-
- private long _persistentSizeLowThreshold;
- private long _persistentSizeHighThreshold;
-
public BDBMessageStore()
{
this(new StandardEnvironmentFacadeFactory());
@@ -61,42 +54,24 @@ public class BDBMessageStore extends AbstractBDBMessageStore
}
@Override
- public void openMessageStore(final ConfiguredObject<?> parent)
+ protected void doOpen(final ConfiguredObject<?> parent)
{
- if (_messageStoreOpen.compareAndSet(false, true))
- {
- _parent = parent;
-
- final SizeMonitoringSettings sizeMonitorSettings = (SizeMonitoringSettings) parent;
- _persistentSizeHighThreshold = sizeMonitorSettings.getStoreOverfullSize();
- _persistentSizeLowThreshold = sizeMonitorSettings.getStoreUnderfullSize();
-
- if (_persistentSizeLowThreshold > _persistentSizeHighThreshold || _persistentSizeLowThreshold < 0l)
- {
- _persistentSizeLowThreshold = _persistentSizeHighThreshold;
- }
-
- _environmentFacade = _environmentFacadeFactory.createEnvironmentFacade(parent);
- }
+ _environmentFacade = _environmentFacadeFactory.createEnvironmentFacade(parent);
}
@Override
- public void closeMessageStore()
+ protected void doClose()
{
- super.closeMessageStore();
- if (_messageStoreOpen.compareAndSet(true, false))
+ if (_environmentFacade != null)
{
- if (_environmentFacade != null)
+ try
{
- try
- {
- _environmentFacade.close();
- _environmentFacade = null;
- }
- catch (RuntimeException e)
- {
- throw new StoreException("Exception occurred on message store close", e);
- }
+ _environmentFacade.close();
+ _environmentFacade = null;
+ }
+ catch (RuntimeException e)
+ {
+ throw new StoreException("Exception occurred on message store close", e);
}
}
}
@@ -104,6 +79,11 @@ public class BDBMessageStore extends AbstractBDBMessageStore
@Override
public void onDelete(ConfiguredObject<?> parent)
{
+ if (isMessageStoreOpen())
+ {
+ throw new IllegalStateException("Cannot delete the store as store is still open");
+ }
+
FileBasedSettings fileBasedSettings = (FileBasedSettings)parent;
String storePath = fileBasedSettings.getStorePath();
@@ -111,13 +91,13 @@ public class BDBMessageStore extends AbstractBDBMessageStore
{
if (LOGGER.isDebugEnabled())
{
- LOGGER.debug("Deleting store " + storePath);
+ LOGGER.debug("Deleting store : {}", storePath);
}
File configFile = new File(storePath);
if (!FileUtils.delete(configFile, true))
{
- LOGGER.info("Failed to delete the store at location " + storePath);
+ LOGGER.info("Failed to delete the store at location : {} ", storePath);
}
}
}
@@ -129,31 +109,11 @@ public class BDBMessageStore extends AbstractBDBMessageStore
}
@Override
- protected long getPersistentSizeLowThreshold()
- {
- return _persistentSizeLowThreshold;
- }
-
- @Override
- protected long getPersistentSizeHighThreshold()
- {
- return _persistentSizeHighThreshold;
- }
-
- @Override
protected Logger getLogger()
{
return LOGGER;
}
- @Override
- protected void checkMessageStoreOpen()
- {
- if (!_messageStoreOpen.get())
- {
- throw new IllegalStateException("Message store is not open");
- }
- }
@Override
protected ConfiguredObject<?> getParent()
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/e8efe562/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyConfigurationStore.java
----------------------------------------------------------------------
diff --git a/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyConfigurationStore.java b/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyConfigurationStore.java
index ee6c8a2..222306a 100644
--- a/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyConfigurationStore.java
+++ b/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyConfigurationStore.java
@@ -54,7 +54,7 @@ public class DerbyConfigurationStore extends AbstractJDBCConfigurationStore
private static final Logger LOGGER = LoggerFactory.getLogger(DerbyConfigurationStore.class);
- private final ProvidedMessageStore _providedMessageStore = new ProvidedMessageStore();
+ private final ProvidedDerbyMessageStore _providedMessageStore = new ProvidedDerbyMessageStore();
private final ProvidedPreferenceStore _providedPreferenceStore = new ProvidedPreferenceStore();
private String _connectionURL;
@@ -197,7 +197,7 @@ public class DerbyConfigurationStore extends AbstractJDBCConfigurationStore
return LOGGER;
}
- private class ProvidedMessageStore extends AbstractDerbyMessageStore
+ private class ProvidedDerbyMessageStore extends AbstractDerbyMessageStore
{
@Override
protected void doOpen(final ConfiguredObject<?> parent)
@@ -233,6 +233,11 @@ public class DerbyConfigurationStore extends AbstractJDBCConfigurationStore
@Override
public void onDelete(final ConfiguredObject<?> parent)
{
+ if (isMessageStoreOpen())
+ {
+ throw new IllegalStateException("Cannot delete the store as store is still open");
+ }
+
try(Connection connection = DerbyConfigurationStore.this.getConnection())
{
onDelete(connection);
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/e8efe562/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java
----------------------------------------------------------------------
diff --git a/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java b/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java
index 43b38da..a56cf2a 100644
--- a/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java
+++ b/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java
@@ -76,7 +76,7 @@ public class DerbyMessageStore extends AbstractDerbyMessageStore
{
if (isMessageStoreOpen())
{
- throw new IllegalStateException("Cannot delete the store as the provided message store is still open");
+ throw new IllegalStateException("Cannot delete the store as store is still open");
}
FileBasedSettings fileBasedSettings = (FileBasedSettings)parent;
@@ -84,12 +84,12 @@ public class DerbyMessageStore extends AbstractDerbyMessageStore
if (storePath != null)
{
- LOGGER.debug("Deleting store {}", storePath);
+ LOGGER.debug("Deleting store : {}", storePath);
File configFile = new File(storePath);
if (!FileUtils.delete(configFile, true))
{
- LOGGER.info("Failed to delete the store at location " + storePath);
+ LOGGER.info("Failed to delete the store at location : {}", storePath);
}
}
}
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/e8efe562/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/GenericJDBCConfigurationStore.java
----------------------------------------------------------------------
diff --git a/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/GenericJDBCConfigurationStore.java b/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/GenericJDBCConfigurationStore.java
index af378e7..e2a67be 100644
--- a/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/GenericJDBCConfigurationStore.java
+++ b/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/GenericJDBCConfigurationStore.java
@@ -50,7 +50,7 @@ public class GenericJDBCConfigurationStore extends AbstractJDBCConfigurationStor
private static final Logger LOGGER = LoggerFactory.getLogger(GenericJDBCConfigurationStore.class);
- private final MessageStore _providedMessageStore = new ProvidedMessageStore();
+ private final MessageStore _providedMessageStore = new ProvidedJDBCMessageStore();
private final ProvidedPreferenceStore _providedPreferenceStore = new ProvidedPreferenceStore();
private String _connectionURL;
private ConnectionProvider _connectionProvider;
@@ -229,7 +229,7 @@ public class GenericJDBCConfigurationStore extends AbstractJDBCConfigurationStor
return _providedPreferenceStore;
}
- private class ProvidedMessageStore extends GenericAbstractJDBCMessageStore
+ private class ProvidedJDBCMessageStore extends GenericAbstractJDBCMessageStore
{
@Override
protected String getTablePrefix(final ConfiguredObject<?> parent)
@@ -270,6 +270,11 @@ public class GenericJDBCConfigurationStore extends AbstractJDBCConfigurationStor
@Override
public void onDelete(final ConfiguredObject<?> parent)
{
+ if (isMessageStoreOpen())
+ {
+ throw new IllegalStateException("Cannot delete the store as the provided store is still open");
+ }
+
try(Connection connection = GenericJDBCConfigurationStore.this.getConnection())
{
onDelete(connection);
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/e8efe562/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/GenericJDBCMessageStore.java
----------------------------------------------------------------------
diff --git a/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/GenericJDBCMessageStore.java b/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/GenericJDBCMessageStore.java
index 422b5df..9b13da3 100644
--- a/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/GenericJDBCMessageStore.java
+++ b/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/GenericJDBCMessageStore.java
@@ -161,7 +161,7 @@ public class GenericJDBCMessageStore extends GenericAbstractJDBCMessageStore
{
if (isMessageStoreOpen())
{
- throw new IllegalStateException("Cannot delete the store as the provided message store is still open");
+ throw new IllegalStateException("Cannot delete the store as the store is still open");
}
ConnectionProvider connectionProvider = JdbcUtils.createConnectionProvider(parent, LOGGER);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org