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

race in __wt_row_leaf_key_work() when building overflow keys

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None

      There's a comment in the code.

          269             if (slot_offset == 0) {
          270                 __wt_readlock(session, &btree->ovfl_lock);
          271                 /*
          272                  * There may be a race here: it's a long one, but if the object is removed after we
          273                  * check the row-store info and decide to read the cell, but before we acquire this
          274                  * read lock, the cell might have been removed when we try to read it here. The
          275                  * comment above seems to indicate there was additional work going on here at some
          276                  * point.
          277                  */
          278                 ret = __wt_dsk_cell_data_ref(session, WT_PAGE_ROW_LEAF, unpack, keyb);
          279                 __wt_readunlock(session, &btree->ovfl_lock);
          280                 WT_RET(ret);
          281                 break;
          282             }
      

            Assignee:
            keith.bostic@mongodb.com Keith Bostic (Inactive)
            Reporter:
            keith.bostic@mongodb.com Keith Bostic (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: