[SERVER-33771] Vectored inserts should not generate optimes for multi-statement transactions Created: 08/Mar/18  Updated: 27/Oct/23  Resolved: 23/Mar/18

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

Type: Bug Priority: Major - P3
Reporter: Louis Williams Assignee: Louis Williams
Resolution: Gone away Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-33306 Add prepareUnitOfWork method to Recov... Closed
Operating System: ALL
Sprint: Storage NYC 2018-03-26
Participants:

 Description   

Currently, performing vectored inserts generates OpTimes for every insert operation, which sets the commit_timestamp on the current WiredTiger transaction for every operation here.

This is problematic because calling prepare_transaction is not possible after a commit timestamp has been set.

The OpTime should be generated once the transaction commits.



 Comments   
Comment by Louis Williams [ 23/Mar/18 ]

This was fixed by SERVER-33306, specifically here: https://github.com/mongodb/mongo/commit/9799d8b7223205635ccb428bbec1ba4d947ba13b#diff-ec361df31c497fa7753ef37d7dfb31e3R336

Comment by Louis Williams [ 15/Mar/18 ]

I don't believe this actually a problem, and I think I was mistaken when I filed this initially.

geert.bosch Let me know if you think this logic is correct. I also can confirm this because the prepare function would fail if a timestamp were set before it was called, and this is not the case.

Generated at Thu Feb 08 04:34:32 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.