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

Handle directoryPerDb and wiredTigerDirectoryForIndexes correctly when reporting namespaces and UUIDs during a backup

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.1.0-rc0, 6.0.16, 8.0.0-rc5, 7.0.11
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Execution
    • Fully Compatible
    • ALL
    • v8.0, v7.3, v7.0, v6.0
    • Execution Team 2024-04-29

      The backup service maintains an ident -> (nss, uuid) map for the duration of a backup. When doing lookups into this map, we take the full path for a table and use the boost filesystem libraries stem() function to extract the table name without the extension.

      For example, /data/db/collection-X-123.wt -> collection-X-123

      But when directoryPerDb or wiredTigerDirectoryForIndexes is used, those directories become part of the ident, and are inserted as the key into the map. So we can have idents like <dbName>/collection-X-123 in the map. The usage of stem() provides the incorrect key into the map and as a result we find nothing.

      This will result in the backup cursor returning empty fields for the {{ns}} and {}{{uuid{}}}.

            Assignee:
            matt.kneiser@mongodb.com Matt Kneiser
            Reporter:
            gregory.wlodarek@mongodb.com Gregory Wlodarek
            Votes:
            0 Vote for this issue
            Watchers:
            18 Start watching this issue

              Created:
              Updated:
              Resolved: