Comment 4 for bug 1064565

Revision history for this message
Timothy Wegner (timmwegner) wrote :

Here is my view of the sequence based on my last discussion with Peter.

  1. A transaction 1, which causes accumulator updates begins
  2. Accumulator is updated and flag indicating it needs to be check pointed is set. Transaction 1 continues to do updates
  3. Checkpoint operation starts, snap shot is taken (includes accumulator values).
  4. Checkpoint code acquires journal lock and flushes buffers
  5. Checkpoint code gets accumulator values and stores them (journal no longer locked)
  6. Transaction 1 commits/ends....no more updates
  7. Checkpoint code clears flag indicating accumulator checkpoint is required.

Txn 1 should be blocked during step 4, however all accumulator updates that occur between steps 1 and 7 would be lost.
If Txn 1 continues to perform updates after step 7 all is good....no issue will occur.