2 Replies Latest reply on Oct 20, 2008 11:39 AM by clebert.suconic

    Strange (?) code in transactionimpl for paging

    timfox

       

      // Putting back the size on pagingManager, and reverting the counters
      
      
       if (message.incrementReference(message.isDurable() && queue.isDurable()) == 1)
       {
       pagingManager.addSize(message);
       }
      


      I don't understand why this code is necessary. Surely paging happens *before* routing.

      So any cancellation shouldn't effect any counters. After all, after cancellation it doesn't get paged again, it's still routed.

        • 1. Re: Strange (?) code in transactionimpl for paging
          clebert.suconic

          Coincidence: I have changed this on my branch on large-messages yesterday, as I needed it fixed in order to delete large-files on servers.

          The decrement reference will happen after commit, hence the cancellation won't need to that any more.

          • 2. Re: Strange (?) code in transactionimpl for paging
            clebert.suconic

            Tim: You completely disabled the code...

            The correct fix would be to only increment the durable ref, as it was done before on earlier versions of the file. The confirmation of size on paging will be later done on QueueImpl (after commit), and that's the fix I have on my branch.


            If you can't wait my merge with the fix for any reason let me know and I will merge at least this part now.