- 
    Type:
Bug
 - 
    Resolution: Duplicate
 - 
    Priority:
Major - P3
 - 
    None
 - 
    Affects Version/s: 4.0.19, 4.2.8, 5.0.0, 4.4.7
 - 
    Component/s: Change streams, Sharding
 - 
    None
 - 
    Environment:I tested on host:
- OS: Ubuntu 20.04 LTS
- CPU: Intel i7-8700K
- RAM: 64Gb
- SSD: Samsung NVMe 500Gb 
- 
        ALL
 - 
        
 - 
        Query 2020-11-30, Query 2020-12-14, Query 2020-12-28, Query 2021-01-11, Query 2021-01-25, Query Execution 2021-02-22, Query Execution 2021-03-08, Query Execution 2021-03-22, Query Execution 2021-04-05, Query Execution 2021-04-19, Sharding EMEA 2021-07-12, QE 2021-10-18
 - 
        None
 
- 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 - 
        None
 
On investigation flaky test in our codebase I found strange issue: sometimes I got change stream update event with empty fullDocument field for existing document.
I reproduced this behaviour by looping with same collection:
- drop collection;
 - shard collection;
 - open change stream;
 - run background thread which add ~2000 records and then update ~100 records;
 - read change stream and check then update event has non-empty fullDocument.
 
Environment details:
- one shard from single-node replicaset;
 - single-node configuration replicaset;
 - 3 mongos.
 
On my computer, a spike of errors occurs in the first 10-30 iterations. Then the probability of errors greatly decreases.
I wrote a simple program with Golang for reproducing this issue (main.go). This program uses go.mongodb.org/mongo-driver v1.3.4 for MongoDB access but originally this issue was reproduced with github.com/globalsign/mgo fork.
- depends on
 - 
                    
SERVER-55309 Re-order post-image lookup stage when expanding $changeStream
-         
 - Closed
 
 -         
 
- is related to
 - 
                    
SERVER-55309 Re-order post-image lookup stage when expanding $changeStream
-         
 - Closed
 
 -