Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-2933

Fix a race between named snapshots and checkpoints

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • None
    • WT2.9.0, 3.2.11, 3.4.0-rc1
    • None
    • None

    Description

      We have seen this assertion in testing:

      [js_test:read_committed_after_rollback] 2016-08-18T00:55:35.560+0000 d20015| 2016-08-18T00:55:35.559+0000 E STORAGE  [conn62] WiredTiger (0) [1471481735:559713][16909:0x11300b000], WT_SESSION.rollback_transaction: src/third_party/wiredtiger/src/txn/txn.c, 101: txn_state->snap_min == WT_TXN_NONE || session->txn.isolation == WT_ISO_READ_UNCOMMITTED || !__wt_txn_visible_all(session, txn_state->snap_min)
      [js_test:read_committed_after_rollback] 2016-08-18T00:55:35.560+0000 d20015| 2016-08-18T00:55:35.559+0000 E STORAGE  [conn62] WiredTiger (0) [1471481735:559882][16909:0x11300b000], WT_SESSION.rollback_transaction: aborting WiredTiger library
      

      I believe that this transaction was started on a named snapshot, and the snapshot was dropped before the transaction was rolled back.

      Write a WT test case for this (create a named snapshot, start a transaction on it, do lots of additional transactions to move the oldest ID forward, try to commit / rollback the transaction and reproduce the assertion).

      The fix is to publish the snap_min for named snapshots into txn_global->states.

      Attachments

        Activity

          People

            michael.cahill@mongodb.com Michael Cahill
            michael.cahill@mongodb.com Michael Cahill
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: