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

Tiered work units should not reference tiered structures

    • Type: Icon: Bug Bug
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • StorEng - Refinement Pipeline

      In WT-9446 and WT-9486 we have been running into problems with work units referencing a stale pointer for the tiered structure. In WT-9446 some infrastructure and other (needed) cleanup was done for schema-related operations. This ticket is to fix the work units to not use dhandle/tiered structure pointers.

      I think the work will be some form of:

      • Instead of the tiered structure, the work unit will store the tiered URI name.
      • The getter functions will need to do a wt_session_get_dhandle call on the tiered name to reference it. That reference should cause other schema operations like drop to return EBUSY.
      • The work unit free function wt_tiered_work_free will call wt_session_release_dhandle to release the reference.

      Note that the free might need to release conditionally because the wt_tiered_remove_work function should not reference the dhandle. This function now needs to take the tiered URI instead of the tiered structure.

            Assignee:
            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            sue.loverso@mongodb.com Susan LoVerso
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: