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{}}}.
- related to
-
SERVER-63554 BackupBlock filepaths and filenames improperly mixed
- Closed
-
SERVER-89743 Clarify DurableCatalog's contract for idents
- Closed
-
SERVER-89918 Add full ident name tracking to backup/restore
- Closed