diff options
| author | Keith Wall <kwall@apache.org> | 2014-01-29 14:20:20 +0000 |
|---|---|---|
| committer | Keith Wall <kwall@apache.org> | 2014-01-29 14:20:20 +0000 |
| commit | b9d59d86496cccf609210a0b1fc2fb9b9e224d7e (patch) | |
| tree | 382e90002f060dc1b5fc6cd99aa0cae246184ab0 /qpid/java | |
| parent | e0b72e18ccadaf4e840ca6da74a4c9316d6335d6 (diff) | |
| download | qpid-python-b9d59d86496cccf609210a0b1fc2fb9b9e224d7e.tar.gz | |
QPID-5211: Prevent spurious not valid state transitions for MemoryMessageStore and test QuotaMessageStore
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1562452 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
3 files changed, 11 insertions, 7 deletions
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractMemoryMessageStore.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractMemoryMessageStore.java index 8aead75c5b..1a7cd72cb6 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractMemoryMessageStore.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractMemoryMessageStore.java @@ -133,9 +133,11 @@ abstract public class AbstractMemoryMessageStore extends NullMessageStore @Override public void close() throws Exception { - _stateManager.attainState(State.CLOSING); - _closed.getAndSet(true); - _stateManager.attainState(State.CLOSED); + if (_closed.compareAndSet(false, true)) + { + _stateManager.attainState(State.CLOSING); + _stateManager.attainState(State.CLOSED); + } } @Override diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/server/store/QuotaMessageStore.java b/qpid/java/systests/src/main/java/org/apache/qpid/server/store/QuotaMessageStore.java index 0e23983087..75ce0e68d8 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/server/store/QuotaMessageStore.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/server/store/QuotaMessageStore.java @@ -154,9 +154,11 @@ public class @Override public void close() throws Exception { - _stateManager.attainState(State.CLOSING); - _closed.getAndSet(true); - _stateManager.attainState(State.CLOSED); + if (_closed.compareAndSet(false, true)) + { + _stateManager.attainState(State.CLOSING); + _stateManager.attainState(State.CLOSED); + } } @Override diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/client/timeouts/SyncWaitDelayTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/client/timeouts/SyncWaitDelayTest.java index 182cd5ff0c..74afbf7903 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/test/client/timeouts/SyncWaitDelayTest.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/client/timeouts/SyncWaitDelayTest.java @@ -57,7 +57,7 @@ public class SyncWaitDelayTest extends QpidBrokerTestCase final String prefix = "virtualhosts.virtualhost." + VIRTUALHOST; setVirtualHostConfigurationProperty(prefix + ".type", StandardVirtualHostFactory.TYPE); - setVirtualHostConfigurationProperty(prefix + ".store.class", "org.apache.qpid.server.store.SlowMessageStore"); + setVirtualHostConfigurationProperty(prefix + ".store.class", org.apache.qpid.server.store.SlowMessageStore.class.getName()); setVirtualHostConfigurationProperty(prefix + ".store.delays.commitTran.post", String.valueOf(POST_COMMIT_DELAY)); super.setUp(); |
