[SERVER-59772] Enable setWindowFields in transactions or with readConcern snapshot Created: 03/Sep/21  Updated: 29/Oct/23  Resolved: 15/Dec/21

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

Type: Bug Priority: Major - P3
Reporter: Ted Tuckman Assignee: Ted Tuckman
Resolution: Fixed Votes: 0
Labels: qopt-team, query-director-triage
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-59969 Allow writing to temporary table with... Closed
depends on SERVER-60639 TemporaryRecordStores should destruct... Closed
Documented
is documented by DOCS-14987 Investigate changes in SERVER-59772: ... Closed
Related
related to SERVER-60038 Ban setWindowFields in transaction wi... Closed
Backwards Compatibility: Fully Compatible
Operating System: ALL
Sprint: QO 2021-09-20, QO 2021-12-27
Participants:

 Comments   
Comment by Githook User [ 15/Dec/21 ]

Author:

{'name': 'Ted Tuckman', 'email': 'ted.tuckman@mongodb.com', 'username': 'TedTuckman'}

Message: SERVER-59772 Enable setWindowFields in transactions and with read concern snapshot
Branch: master
https://github.com/mongodb/mongo/commit/4b4d4f729e0846590fa9602d96c308018c54399c

Comment by Charlie Swanson [ 10/Sep/21 ]

After discussing with ted.tuckman, we believe there is risk that a read which specifies readConcern: {level: "snapshot"}  will either not observe snapshot isolation (bad), or will enter an unknown and potentially corrupted state within the WiredTiger storage engine, with unknown consequences.

We believe there is risk because the implementation of spilling to disk within a WiredTiger temporary table repeatedly "abandons snapshot" to ensure that new reads and writes will read from the most recent snapshot. We realized recently that this (potentially) has broader implications for the rest of the operation.

As far as I know, we don't yet know if this is a real problem, and what a fix might look like. I recommend putting this in "Investigating" on my team steve.la. Tagging with "query-director-triage" for visibility.

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