[SERVER-69396] Modify time-series inserts to use damages instead of full-document updates Created: 02/Sep/22  Updated: 24/Apr/23

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

Type: Task Priority: Major - P3
Reporter: Jordi Olivares Provencio Assignee: Backlog - Storage Execution Team
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on WT-9668 Improve overlap detection in WT_MODIF... Open
depends on SERVER-69355 Add support for reusing cursors in Co... Backlog
depends on SERVER-69362 Investigate if we can avoid save/rest... Backlog
depends on SERVER-69368 Add method in doc_diff to know if the... Blocked
depends on SERVER-69365 Add support for updating indices in C... Closed
Assigned Teams:
Storage Execution
Participants:

 Description   

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.

Generated at Thu Feb 08 06:13:21 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.