- 
    Type:Improvement 
- 
    Resolution: Fixed
- 
    Priority:Major - P3 
- 
    Affects Version/s: None
- 
    Component/s: Aggregation Framework, Internal Code
- 
        Fully Compatible
- 
        Query 2020-02-10
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
Two problems:
- The filenames are inconsistent in their naming conventions and it's hard to remember and navigate. For example, there's process_interface_shardsvr.h but also mongos_process_interface.h.
- The class hierarchy is unintuitive. Namely, MongoInterfaceShardServer inherits from MongoInterfaceStandalone. I would recommend instead having both of these inherit from a sort of MongodInterface base which has the common functionality between the two.
- is depended on by
- 
                    SERVER-45538 Implement and test shard version retry logic for $unionWith sub-pipeline -         
- Closed
 
-         
- 
                    SERVER-45963 Introduce ReplicaSetNodeProcessInterface and a new TaskExecutor for it to use -         
- Closed
 
-         
- is duplicated by
- 
                    SERVER-45022 Refactor and clean up MongoProcessInterface hierarchy -         
- Closed
 
-