Remove while loop that checks the prepare state in src/reconcile/rec_visibility.c

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Engines, Storage Engines - Transactions
    • SE Transactions - 2025-07-18, SE Transactions - 2025-08-01
    • 3

       while (prepare_state == WT_PREPARE_LOCKED) {Add commentMore actions
                  WT_ASSERT_ALWAYS(session, F_ISSET(r, WT_REC_CHECKPOINT),
                    "Eviction should never occur on a page that has resolving prepared records.");
                  /*
                   * FIXME: WT-14826. This while loop can be removed if we start to use the new prepared             * FIXME: WT-14826. This while loop can be removed if we start to use the new prepared
                   * timestamp field.
                   */
                  __wt_sleep(0, 100);
                  WT_READ_ONCE(prepare_state, upd->prepare_state);
              }
      

      We needed the while loop since we're reusing the start ts for both commit ts and prepare ts depending on `prepare_state`. Remove this while loop when we finish switching to using prepare_ts and therefore no longer need this while loop check

              Assignee:
              Linh Tran
              Reporter:
              Linh Tran
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: