1 Reply Latest reply on Nov 10, 2008 9:22 AM by clebert.suconic

    Why does DeleteEncoding need a queue id?

    timfox

      JournalStorageManager.

      void storeDelete(long messageID) throws Exception;
      
       void storeDeleteMessageTransactional(long txID, long queueID, long messageID) throws Exception;
      


      Why do we need the queue id when storing a delete transactionally? We don't need it when deleting non transactioally.

        • 1. Re: Why does DeleteEncoding need a queue id?
          clebert.suconic

          That was added during the XA work.

          Case the server is restarted after the transaction was prepared, and before the commit was done, we need to replay the transaction (removing references), and we need the QueueID for that.


          Look at JournalStorageManager::loadPreparedTransactions.