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

WiredTigerKVEngine::_salvageIfNeeded is out-of-date

    XMLWordPrintable

Details

    • Improvement
    • Status: Closed
    • Minor - P4
    • Resolution: Duplicate
    • None
    • None
    • WiredTiger
    • None

    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

        Issue Links

          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: