[SERVER-79873] Provide a knob to disable or adjust updates with damages for a collection Created: 09/Aug/23  Updated: 27/Oct/23  Resolved: 23/Aug/23

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

Type: Improvement Priority: Major - P3
Reporter: Sulabh Mahajan Assignee: Gregory Wlodarek
Resolution: Works as Designed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Related
is related to WT-7776 Add a hard limit on the number of mod... Closed
is related to SERVER-79875 WiredTigerRecordStore::doUpdateRecord... Open
is related to SERVER-57482 Adaptively call wiredtiger_calc_modify Backlog
Assigned Teams:
Storage Execution NAMER
Backport Requested:
v7.0, v6.0, v5.0, v4.4
Sprint: Execution NAMR Team 2023-09-04
Participants:

 Description   

Updates-with-damages uses WiredTiger's modify operation instead of the usual update operation. Whereas an update is a full new value for a document, the modify is a delta on top of the previous value. Using a modify instead of an update benefits using lesser cache and reduces log amplification. But this comes at the performance cost of reads and writes, as full values need to be computed, which might need coalescing several modify on top of a base update.

Currently, there is no way to disable or tune the usage of updates-with-damages, so if a workload generates a lot of modify with a high-performance penalty, we can't mitigate the situation.

This ticket can explore providing knob(s) to disable updates-with-damages on a collection or reduce how often modify get generated.



 Comments   
Comment by Geert Bosch [ 23/Aug/23 ]

We didn't actually observe this being an issue, so we don't want to add the complexity of an extra knob.

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