-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
ALL
-
🟥 DDL
-
None
-
None
-
None
-
None
-
None
-
None
As per today, users are able (under certain restrictions) to issue a db1.from.renameCollection(db2.target) request where from and target are namespaces belonging to different databases.
Under the hood, the request is served through the following sequence of steps:
- a db2.tmp<randomSubfix>.renameCollection gets locally created
- existing documents of db1.from get inserted into db2.tmp<randomSubfix>.renameCollection
- the local catalog commits a db2.tmp<randomSubfix>.renameCollection -> db2.target collection rename with dropTarget: true
Both the creation of the temporary collection and the insertion of the cloned documents produce op entries that are incorrectly visible to end users of database-level change streams.