-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Labels:
-
Query Execution
-
QE 2022-10-03
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.