You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2015/02/27 15:39:30 UTC
svn commit: r1662688 - in /qpid/branches/0.32/qpid: ./ java/
java/broker-core/src/main/java/org/apache/qpid/server/queue/
java/broker-core/src/test/java/org/apache/qpid/server/queue/
Author: rgodfrey
Date: Fri Feb 27 14:39:29 2015
New Revision: 1662688
URL: http://svn.apache.org/r1662688
Log:
QPID-6419 : Merged 1662683 onto 0.32 branch
Modified:
qpid/branches/0.32/qpid/ (props changed)
qpid/branches/0.32/qpid/java/ (props changed)
qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java
qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/LastValueQueueListTest.java
qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java
qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryListTestBase.java
qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SimpleQueueEntryImplTest.java
qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryTest.java
qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueEntryListTest.java
Propchange: qpid/branches/0.32/qpid/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 27 14:39:29 2015
@@ -6,4 +6,4 @@
/qpid/branches/mcpierce-QPID-4719/qpid:1477004-1477093
/qpid/branches/qpid-2935/qpid:1061302-1072333
/qpid/branches/qpid-3346/qpid:1144319-1179855
-/qpid/trunk/qpid:1661079,1661142,1661162,1661165-1661166,1661207,1661212,1661364,1661368,1661373,1661530-1661531,1661693,1661741,1661929,1662051,1662473,1662489
+/qpid/trunk/qpid:1661079,1661142,1661162,1661165-1661166,1661207,1661212,1661364,1661368,1661373,1661530-1661531,1661693,1661741,1661929,1662051,1662473,1662489,1662683
Propchange: qpid/branches/0.32/qpid/java/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 27 14:39:29 2015
@@ -9,4 +9,4 @@
/qpid/branches/java-network-refactor/qpid/java:805429-821809
/qpid/branches/qpid-2935/qpid/java:1061302-1072333
/qpid/trunk/qpid:796646-796653
-/qpid/trunk/qpid/java:1661079,1661142,1661162,1661165-1661166,1661207,1661212,1661364,1661368,1661373,1661530-1661531,1661693,1661741,1661929,1662051,1662473,1662489
+/qpid/trunk/qpid/java:1661079,1661142,1661162,1661165-1661166,1661207,1661212,1661364,1661368,1661373,1661530-1661531,1661693,1661741,1661929,1662051,1662473,1662489,1662683
Modified: qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java?rev=1662688&r1=1662687&r2=1662688&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueEntryImpl.java Fri Feb 27 14:39:29 2015
@@ -371,11 +371,16 @@ public abstract class QueueEntryImpl imp
}
}
- private void dequeue()
+ private boolean dequeue()
{
EntryState state = _state;
- if((state.getState() == State.ACQUIRED) &&_stateUpdater.compareAndSet(this, state, DEQUEUED_STATE))
+ while(state.getState() == State.ACQUIRED && !_stateUpdater.compareAndSet(this, state, DEQUEUED_STATE))
+ {
+ state = _state;
+ }
+
+ if(state.getState() == State.ACQUIRED)
{
if (state instanceof ConsumerAcquiredState || state instanceof LockedAcquiredState)
{
@@ -387,7 +392,11 @@ public abstract class QueueEntryImpl imp
{
notifyStateChange(state.getState() , QueueEntry.State.DEQUEUED);
}
-
+ return true;
+ }
+ else
+ {
+ return false;
}
}
@@ -420,9 +429,10 @@ public abstract class QueueEntryImpl imp
public void delete()
{
- dequeue();
-
- dispose();
+ if(dequeue())
+ {
+ dispose();
+ }
}
public int routeToAlternate(final Action<? super MessageInstance> action, ServerTransaction txn)
Modified: qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/LastValueQueueListTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/LastValueQueueListTest.java?rev=1662688&r1=1662687&r2=1662688&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/LastValueQueueListTest.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/LastValueQueueListTest.java Fri Feb 27 14:39:29 2015
@@ -93,6 +93,7 @@ public class LastValueQueueListTest exte
ServerMessage message = createTestServerMessage(null);
QueueEntry addedEntry = _list.add(message);
+ addedEntry.acquire();
addedEntry.delete();
int numberOfEntries = countEntries(_list);
@@ -113,6 +114,7 @@ public class LastValueQueueListTest exte
ServerMessage message = createTestServerMessage(TEST_KEY_VALUE);
QueueEntry addedEntry = _list.add(message);
+ addedEntry.acquire();
addedEntry.delete();
int numberOfEntries = countEntries(_list);
@@ -173,6 +175,7 @@ public class LastValueQueueListTest exte
assertEquals(1, countEntries(_list));
assertEquals(1, _list.getLatestValuesMap().size());
+ addedEntry.acquire();
addedEntry.delete();
assertEquals(0, countEntries(_list));
@@ -193,7 +196,9 @@ public class LastValueQueueListTest exte
assertEquals(2, countEntries(_list));
assertEquals(2, _list.getLatestValuesMap().size());
+ addedEntry1.acquire();
addedEntry1.delete();
+ addedEntry2.acquire();
addedEntry2.delete();
assertEquals(0, countEntries(_list));
Modified: qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java?rev=1662688&r1=1662687&r2=1662688&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java Fri Feb 27 14:39:29 2015
@@ -113,6 +113,7 @@ public abstract class QueueEntryImplTest
*/
private void delete()
{
+ _queueEntry.acquire();
_queueEntry.delete();
assertTrue("Queue entry should be in DELETED state after invoking of delete method",
_queueEntry.isDeleted());
Modified: qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryListTestBase.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryListTestBase.java?rev=1662688&r1=1662687&r2=1662688&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryListTestBase.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryListTestBase.java Fri Feb 27 14:39:29 2015
@@ -196,6 +196,7 @@ public abstract class QueueEntryListTest
final QueueEntry head = getTestList().getHead();
final QueueEntry first = getTestList().next(head);
+ first.acquire();
first.delete();
final QueueEntry second = getTestList().next(head);
@@ -226,6 +227,7 @@ public abstract class QueueEntryListTest
assertNull(list.next(queueEntry2));
//'delete' the 2nd QueueEntry
+ queueEntry2.acquire();
queueEntry2.delete();
assertTrue("Deleting node should have succeeded", queueEntry2.isDeleted());
Modified: qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SimpleQueueEntryImplTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SimpleQueueEntryImplTest.java?rev=1662688&r1=1662687&r2=1662688&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SimpleQueueEntryImplTest.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SimpleQueueEntryImplTest.java Fri Feb 27 14:39:29 2015
@@ -109,6 +109,7 @@ public class SimpleQueueEntryImplTest ex
public void testTraverseWithDeletedEntries()
{
// Delete 2nd queue entry
+ _queueEntry2.acquire();
_queueEntry2.delete();
assertTrue(_queueEntry2.isDeleted());
Modified: qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryTest.java?rev=1662688&r1=1662687&r2=1662688&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryTest.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryTest.java Fri Feb 27 14:39:29 2015
@@ -137,6 +137,7 @@ public class SortedQueueEntryTest extend
public void testTraverseWithDeletedEntries()
{
// Delete 2nd queue entry
+ _queueEntry3.acquire();
_queueEntry3.delete();
assertTrue(_queueEntry3.isDeleted());
Modified: qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueEntryListTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueEntryListTest.java?rev=1662688&r1=1662687&r2=1662688&view=diff
==============================================================================
--- qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueEntryListTest.java (original)
+++ qpid/branches/0.32/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueEntryListTest.java Fri Feb 27 14:39:29 2015
@@ -155,7 +155,7 @@ public class StandardQueueEntryListTest
public void testScavenge() throws Exception
{
- OrderedQueueEntryList sqel = new StandardQueueEntryList(null);
+ OrderedQueueEntryList sqel = new StandardQueueEntryList(mock(StandardQueueImpl.class));
ConcurrentMap<Integer,QueueEntry> entriesMap = new ConcurrentHashMap<Integer,QueueEntry>();
@@ -215,6 +215,7 @@ public class StandardQueueEntryListTest
{
QueueEntry entry = entriesMap.remove(pos);
boolean wasDeleted = entry.isDeleted();
+ entry.acquire();
entry.delete();
return entry.isDeleted() && !wasDeleted;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org