Author: aidanskinner
Date: 2008-09-08 10:30:40 -0400 (Mon, 08 Sep 2008)
New Revision: 2429
Modified:
store/branches/java/broker-queue-refactor/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java
Log:
Use a cursor for deleting entries
Modified:
store/branches/java/broker-queue-refactor/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java
===================================================================
---
store/branches/java/broker-queue-refactor/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java 2008-09-05
21:32:24 UTC (rev 2428)
+++
store/branches/java/broker-queue-refactor/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java 2008-09-08
14:30:40 UTC (rev 2429)
@@ -938,12 +938,16 @@
try
{
- OperationStatus status = _deliveryDb.delete(tx, key);
+ Cursor cursor = _deliveryDb.openCursor(tx, null);
+ DatabaseEntry data = new DatabaseEntry();
+ OperationStatus status = cursor.getSearchKey(key, data, null);
if (status == OperationStatus.NOTFOUND)
{
throw new AMQException("Unable to find message with id " +
messageId + " on queue " + name);
}
- else if (status != OperationStatus.SUCCESS)
+ status = cursor.delete();
+ cursor.close();
+ if (status != OperationStatus.SUCCESS)
{
throw new AMQException("Unable to remove message with id " +
messageId + " on queue " + name);
}
Show replies by date