[rhmessaging-commits] rhmessaging commits: r1705 - store/trunk/cpp/lib.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Tue Feb 19 06:22:32 EST 2008


Author: gordonsim
Date: 2008-02-19 06:22:32 -0500 (Tue, 19 Feb 2008)
New Revision: 1705

Modified:
   store/trunk/cpp/lib/BdbMessageStore.cpp
Log:
Log warning (rather than throwing exception) when a mapping is found for a deleted queue on recovery.



Modified: store/trunk/cpp/lib/BdbMessageStore.cpp
===================================================================
--- store/trunk/cpp/lib/BdbMessageStore.cpp	2008-02-18 22:15:06 UTC (rev 1704)
+++ store/trunk/cpp/lib/BdbMessageStore.cpp	2008-02-19 11:22:32 UTC (rev 1705)
@@ -25,6 +25,7 @@
 #include <qpid/broker/RecoveryManager.h>
 #include <qpid/broker/Message.h>
 #include <qpid/framing/Buffer.h>
+#include <qpid/log/Statement.h>
 #include <algorithm>
 #include <iomanip>
 #include <sstream>
@@ -677,15 +678,15 @@
     for (int status = mappings->get(&msgId, &value, DB_SET); status == 0; status = mappings->get(&msgId, &value, DB_NEXT_DUP)) {
         RecoverableQueue::shared_ptr queue = index[value.id];
         if (!queue) {
-            THROW_STORE_EXCEPTION("Missing queue");
+            QPID_LOG(warning, "Recovered message for queue that no longer exists");
+        } else {            
+            if (PreparedTransaction::isLocked(locked, value.id, msgId.id)) {
+                prepared[msgId.id] = msg;
+            } else {
+                queue->recover(msg);
+            }
+            count++;
         }
-
-        if (PreparedTransaction::isLocked(locked, value.id, msgId.id)) {
-            prepared[msgId.id] = msg;
-        } else {
-            queue->recover(msg);
-        }
-        count++;
     }
     return count;
 }




More information about the rhmessaging-commits mailing list