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

WiredTigerKVEngine::_salvageIfNeeded is out-of-date

    • Type: Icon: Improvement Improvement
    • Resolution: Duplicate
    • Priority: Icon: Minor - P4 Minor - P4
    • None
    • Affects Version/s: None
    • Component/s: WiredTiger
    • None
    • Storage Execution

      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.

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

              Created:
              Updated:
              Resolved: