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

__drop_tiered may not release the dhandle in error path

    • Type: Icon: Bug Bug
    • Resolution: Gone away
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: dhandles
    • Labels:
      None
    • Storage Engines

          /*
           * Close all btree handles associated with this table. This must be done after we're done using
           * the tiered structure because that is from the dhandle.
           */
          WT_ERR(__wt_session_release_dhandle(session));
          WT_WITH_HANDLE_LIST_WRITE_LOCK(
            session, ret = __wt_conn_dhandle_close_all(session, uri, true, force));
          WT_ERR(ret);
      
          __wt_verbose(session, WT_VERB_TIERED, "DROP_TIERED: remove tiered table %s from metadata", uri);
          ret = __wt_metadata_remove(session, uri);
      err:
          __wt_free(session, name);
          return (ret);
      

      In __drop_tiered, we don't release the dhandle in the error path. This can lead to deadlock.

            Assignee:
            backlog-server-storage-engines [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            chenhao.qu@mongodb.com Chenhao Qu
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: