|
The backup cursor ns field may not be representative of the collection name at the time of the backup. Consider the following scenario:
System -> checkpointTimestamp = 10, oldestTimestamp = 15
|
Client -> Rename collection "a" to "b" at timestamp 20
|
System -> checkpointTimestamp = 10, oldestTimestamp = 25
|
Client -> Open $backupCursor. Will copy files at the checkpointTimestamp
|
Client -> Comes across the file for renamed collection. ns field is "b". Want "a".
|
We need a way to keep track of collection renames in memory. This would be a similar mechanism as two-phase collection drops, which keeps the collection files until the dropTimestamp is < min(checkpointTimestamp, oldestTimestamp). This would allow us to resolve the collection name at the checkpointTimestamp.
|