Review the __wt_btree_syncing_by_other_session change

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Checkpoints
    • None

      We change the check:

          /*
           * If reconciliation requires multiple blocks and checkpoint is running we'll eventually fail,
           * unless we're the checkpoint thread. Big pages take a lot of writes, avoid wasting work.
           */
          if (!last_block && __wt_btree_syncing_by_other_session(session)) {
      

      to

          /*
           * If reconciliation requires multiple blocks and checkpoint is running we'll eventually fail,
           * unless we're the checkpoint thread. Big pages take a lot of writes, avoid wasting work.
           */
          if (!last_block && WT_BTREE_SYNCING(btree) && !WT_SESSION_BTREE_SYNC(session) &&
            !WT_SESSION_IS_CHECKPOINT(session)) {
      

      We should review why we make this change and add a comment. We should also review in other places we call __wt_btree_syncing_by_other_session. Do they need to be changed as well?

            Assignee:
            [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            Chenhao Qu
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: