[SERVER-62594] Allow cross-database renames to report the original namespace and UUID Created: 13/Jan/22  Updated: 06/Dec/22

Status: Backlog
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Bernard Gorman Assignee: Backlog - Query Execution
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to SERVER-62556 Make rename across databases emit ins... Closed
Assigned Teams:
Query Execution
Participants:

 Description   

Cross-database collection renames currently work by writing all data from the original collection into a temp collection on the new database, renaming that collection to the target namespace, and then dropping the original collection. After PM-1950, change streams will report all these steps explicitly, allowing a client application to deduce what has happened.

However, it might be preferable to instead hide the inserts into the temporary collection behind a fromMigrate flag, and give change streams a way to simply report the final rename from the original namespace to the new namespace. This would require some changes to the oplog format, possibly by recording the namespace and uuid of the original collection in the o2 field of the final renameCollection oplog entry.


Generated at Thu Feb 08 05:55:33 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.