-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Storage Execution
Running TSBS with the default granularity of "seconds" yielded a slight decrease in throughput but a very large improvement in I/O reduction from WiredTiger if we use damages.
To achieve this it requires certain conditions:
- Modify the time-series inserts code paths to use damages instead of performing full-document updates. This will require work on index management (done in
SERVER-69365) and discovering if indices need to be updated (done in SERVER-69368). - Avoid materializing the full-document changes to the bucket as they will not be needed.
- Reuse cursors used by the operations to avoid repositioning in WiredTiger (it will cause full-document materialization). This API is exposed in SERVER-69355.
- Avoid cursor repositioning for unordered inserts as per SERVER-69362.
- Wait until WT-9668 is merged to fix overlap detection in WT_MODIFY.
- depends on
-
WT-9668 Improve overlap detection in WT_MODIFY paths
- Open
-
SERVER-69355 Add support for reusing cursors in Collections API
- Backlog
-
SERVER-69362 Investigate if we can avoid save/restore in UpdateStage
- Backlog
-
SERVER-69368 Add method in doc_diff to know if the diff will update indices
- Backlog
-
SERVER-69365 Add support for updating indices in Collection::updateWithDamages
- Closed