[SERVER-66079] Make change stream jstests compatible with transactions Created: 29/Apr/22  Updated: 06/Dec/22

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

Type: Improvement Priority: Major - P3
Reporter: Josef Ahmad Assignee: Backlog - Query Execution
Resolution: Unresolved Votes: 0
Labels: quick-tech-debt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
Assigned Teams:
Query Execution
Sprint: QE 2022-10-03
Participants:

 Description   

Some change stream test cases are labelled as change_stream_does_not_expect_txns. One explanation I found about this label is "These tests make assumptions about change stream results that are no longer true once operations get bundled into [multi-document] transactions." So I take it the label excludes these tests from suites that involve multi-document transactions. So far so good.

However we've recently made a change (SERVER-63047) that replicates multi-doc writes belonging to a single WriteUnitOfWork transactionally: these operations now generate an applyOps oplog entry. This has been a source of integration issues with tests using the change_stream_does_not_expect_txns label, likely due to the fact that these tests don't expect transaction (applyOps) oplog entries because multi-document transactions are excluded from these tests, which doesn't necessarily holds true any longer.

As this new mode of operation introduced in SERVER-63047 is planned to become to become the preferred - if not the only - way to write to multiple documents in a WriteUnitOfWork (see SERVER-64506 and its related project), we should consider making these change stream tests support transactions, to ease integration moving forward.


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