[rhmessaging-commits] rhmessaging commits: r1494 - in store/trunk/cpp: tests and 1 other directory.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Fri Dec 14 11:27:22 EST 2007


Author: gordonsim
Date: 2007-12-14 11:27:22 -0500 (Fri, 14 Dec 2007)
New Revision: 1494

Modified:
   store/trunk/cpp/lib/BdbMessageStore.cpp
   store/trunk/cpp/lib/BdbMessageStore.h
   store/trunk/cpp/tests/SimpleTest.cpp
Log:
pass in PersistebaleMessage by ref for destory as it is called when the message is being destructed and only the id is checked
remove the bdb enqueue/dequeue calls for released content in journal mode



Modified: store/trunk/cpp/lib/BdbMessageStore.cpp
===================================================================
--- store/trunk/cpp/lib/BdbMessageStore.cpp	2007-12-14 16:06:50 UTC (rev 1493)
+++ store/trunk/cpp/lib/BdbMessageStore.cpp	2007-12-14 16:27:22 UTC (rev 1494)
@@ -789,10 +789,10 @@
         }
     }        
 }
-void BdbMessageStore::destroy(intrusive_ptr<PersistableMessage>& msg)
+void BdbMessageStore::destroy(PersistableMessage& msg)
 {
     checkInit();
-    u_int64_t messageId (msg->getPersistenceId());
+    u_int64_t messageId (msg.getPersistenceId());
     if (messageId) {
         Dbt key (&messageId, sizeof(messageId));
         TxnCtxt txn;
@@ -954,7 +954,6 @@
         if (usingJrnl()){
             // add queue* to the txn map..
             if (ctxt) txn->addXidRecord(queue.getExternalQueueStore());
-            if (msg->isContentReleased()) put(mappingDb, txn->get(), key, value); // TODO - remove once jrnl is used for transient policy see **
         }else{
        	    msg->enqueueComplete();  // set enqueued for ack
             put(mappingDb, txn->get(), key, value);
@@ -1095,13 +1094,6 @@
             // add queue* to the txn map..
             if (ctxt) txn->addXidRecord(queue.getExternalQueueStore());
             async_dequeue(ctxt, msg, queue); 
-     	    // added here as we are not doing it async on call back
-            if (msg->isContentReleased())  // TODO remove this code once jrnl is used for transient policy see **
-            {
-                Dbt key (&messageId, sizeof(messageId));
-                Dbt value (&queueId, sizeof(queueId));
-                dequeue(txn->get(), key, value);
-            }
 			
             msg->dequeueComplete();
             // 		    if ( msg->isDequeueComplete()  ) // clear id after last dequeue

Modified: store/trunk/cpp/lib/BdbMessageStore.h
===================================================================
--- store/trunk/cpp/lib/BdbMessageStore.h	2007-12-14 16:06:50 UTC (rev 1493)
+++ store/trunk/cpp/lib/BdbMessageStore.h	2007-12-14 16:27:22 UTC (rev 1494)
@@ -164,7 +164,7 @@
             void recover(qpid::broker::RecoveryManager& queues);
 
             void stage(boost::intrusive_ptr<qpid::broker::PersistableMessage>& msg);
-            void destroy(boost::intrusive_ptr<qpid::broker::PersistableMessage>& msg);
+            void destroy(qpid::broker::PersistableMessage& msg);
             void appendContent(boost::intrusive_ptr<const qpid::broker::PersistableMessage>& msg, const std::string& data);
             void loadContent(const qpid::broker::PersistableQueue& queue,
                     boost::intrusive_ptr<const qpid::broker::PersistableMessage>& msg, 

Modified: store/trunk/cpp/tests/SimpleTest.cpp
===================================================================
--- store/trunk/cpp/tests/SimpleTest.cpp	2007-12-14 16:06:50 UTC (rev 1493)
+++ store/trunk/cpp/tests/SimpleTest.cpp	2007-12-14 16:27:22 UTC (rev 1494)
@@ -435,7 +435,7 @@
         MessageUtils::addContent(msg, data);
         
         store.stage(pmsg);
-        store.destroy(pmsg);
+        store.destroy(*pmsg);
 
         try {
             string loaded;
@@ -464,7 +464,7 @@
         store.create(queue);
         
         store.enqueue(0, pmsg, queue);
-        store.destroy(pmsg);
+        store.destroy(*pmsg);
 
         string loaded;
         store.loadContent(queue, cpmsg, loaded, 0, data.length());




More information about the rhmessaging-commits mailing list