convertToCapped is implemented as a temporary collection creation, insertion of all existing records and then rename-in-place. However, instead of using calling existing catalog-level operations and letting them deal with replication, convertToCapped has its own oplog entry and calls lower level operations directly while suppressing normal replication.
This adds extra maintenance work and upgrade complexities for supporting UUIDs. Removing the special purpose code simplifies, fixes some potential unhandled error conditions (WriteConflictException) and allows for normal rollback.
- is related to
-
SERVER-33183 Remove convertToCapped from OplogEntry::CommandType
- Closed