Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-26950

WiredTigerKVEngine::_salvageIfNeeded is out-of-date

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Duplicate
    • Icon: Minor - P4 Minor - P4
    • None
    • None
    • WiredTiger
    • None
    • Storage Execution

    Description

      In db/storage/wiredtiger/wiredtiger_kv_engine.cpp:

      Status WiredTigerKVEngine::_salvageIfNeeded(const char* uri) {
          // Using a side session to avoid transactional issues
          WiredTigerSession sessionWrapper(_conn);
          WT_SESSION* session = sessionWrapper.getSession();
       
          int rc = (session->verify)(session, uri, NULL);
          if (rc == 0) {
              log() << "Verify succeeded on uri " << uri << ". Not salvaging.";
              return Status::OK();
          }
       
          if (rc == EBUSY) {
              // SERVER-16457: verify and salvage are occasionally failing with EBUSY. For now we
              // lie and return OK to avoid breaking tests. This block should go away when that ticket
              // is resolved.
              error() << "Verify on " << uri << " failed with EBUSY. Assuming no salvage is needed.";
              return Status::OK();
          }
      

      SERVER-16457 has been fixed since 2.8.

      Attachments

        Activity

          People

            backlog-server-execution Backlog - Storage Execution Team
            keith.bostic@mongodb.com Keith Bostic (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: