[SERVER-59969] Allow writing to temporary table without abandoning snapshot in WiredTiger Created: 15/Sep/21  Updated: 29/Oct/23  Resolved: 12/Oct/21

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

Type: Improvement Priority: Major - P3
Reporter: Ted Tuckman Assignee: Louis Williams
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-59772 Enable setWindowFields in transaction... Closed
is depended on by SERVER-58436 Implement spilling HashAgg Closed
Related
related to SERVER-59075 Create temporary RecordStore in HashA... Closed
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2021-10-18
Participants:

 Description   

The problem specifically is that all query operations default to ignoring prepare conflicts. Some queries, however, like $setWindowFields may spill to the storage engine, which requires changing the prepare conflict behavior to kIgnoreConflictsAllowWrites, which allows these writes to succeed.

We can work around this problem by allowing all read-only queries (even those that spill to the storage engine) to use kIgnoreConflictsAllowWrites. Special care should be taken for write operations to continue enforcing prepare conflicts



 Comments   
Comment by Githook User [ 12/Oct/21 ]

Author:

{'name': 'Louis Williams', 'email': 'louis.williams@mongodb.com', 'username': 'louiswilliams'}

Message: SERVER-59969 Allow queries to spill to the storage engine without having to abandon their snapshot
This change allows queries that previously ignored prepare conflicts to also write to the storage engine.
Branch: master
https://github.com/mongodb/mongo/commit/5b73e9d9102fc0c48d514ea43bfd0a8db9addc81

Comment by Ian Boros [ 16/Sep/21 ]

Seems related to SERVER-59075.

Generated at Thu Feb 08 05:48:38 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.