[SERVER-79875] WiredTigerRecordStore::doUpdateRecord breaks RecordStore::updateRecord contract Created: 09/Aug/23  Updated: 06/Feb/24

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

Type: Improvement Priority: Major - P3
Reporter: Yujin Kang Park Assignee: Backlog - Storage Execution Team
Resolution: Unresolved Votes: 0
Labels: storex-ranked
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-79873 Provide a knob to disable or adjust u... Closed
Assigned Teams:
Storage Execution
Participants:

 Description   

The RecordStore provides two methods to update a record, full update (updateRecord) and incremental update (updateWithDamages). However, WiredTigerRecordStore::doUpdateRecord under some conditions, might try to do an incremental update. This breaks the expectations of RecordStore::updateRecord callers.

I.e. updateStage has its own logic to decide whether to compute damages and do incremental updates or full updates.

Maybe we should be push this logic outside WiredTigerRecordStore::doUpdateRecord, and call RecordStore::updateWithDamages as required.

 


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