Details
-
Bug
-
Status: Closed
-
Major - P3
-
Resolution: Fixed
-
None
-
Fully Compatible
-
ALL
-
Sharding 2020-11-30
-
0
Description
mutablebson::Document::getObject() renders a full copy of the updated document. This can be expensive for larger documents. At minimum we should skip calling it when the collection isn't even sharded like UpdateStage::checkUpdateChangesShardKeyFields() does. Better would be to consolidate some the _doc.getObject() calls that UpdateStage::checkUpdateChangesShardKeyFields(), UpdateStage::wasReshardingKeyUpdated(), and updates which weren't performed in-place all do.
Attachments
Issue Links
- is caused by
-
SERVER-49825 Replicate updates changing value under new shard key pattern as delete + insert in a transaction
-
- Closed
-
- related to
-
SERVER-54040 Resharding may fail to throw WouldChangeOwningShard despite destined recipient having changed
-
- Closed
-
-
SERVER-57666 Convert getDestinedRecipient() in resharding_util to be a class method
-
- Closed
-
-
SERVER-58918 Replace getDestinedRecipient() in the code-base with calls into the ReshardingDonorWriteRouter object
-
- Closed
-