Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-41282

Investigate invariant failure in WTIndex::updatePosition()

    • Type: Icon: Bug Bug
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Sharding, Storage
    • Labels:
      None
    • ALL
    • Execution Team 2019-06-03

      I hit this invariant when testing a change to the range deleter. I'm hitting this only in the conucrrency_local_read_write_multi_stmt_txn suite when running either of random_movechunk_broadcast_delete_transaction.js/update_transaction.js. The following is the situation in which we hit this:

      1. a transaction starts at the same time as the range deleter starts running. (the coordinator shard is also the shard that the range deleter is running on)
      2. the range deleter continually retries on WCE (I added logging so can confirm)
      3. the coordinator shard receives votes to commit, advances the cluster time to the commit timestamp, and writes the decision
      4. coord sends commit to itself and the other participant
      5. coord receives commit and then the range deleter hits this invariant `Invariant failure !getTestCommandsEnabled()` in wiredtired_index.cpp in `updatePosition()` and logs `WTIndex::updatePosition – the new key ( 2BCA041DB0) is less than the previous key (2C01B20406D0), which is a bug.`

      I've attached a git format-patch to repro.

            Assignee:
            gregory.wlodarek@mongodb.com Gregory Wlodarek
            Reporter:
            janna.golden@mongodb.com Janna Golden
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: