- 
    Type:Improvement 
- 
    Resolution: Duplicate
- 
    Priority:Major - P3 
- 
    None
- 
    Affects Version/s: None
- 
    Component/s: Aggregation Framework
- 
        Query
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
The MongoProcessInterface class hierarchy has grown significantly over time, and is now quite unwieldy. The names of the classes and files are misleading and inconsistent (e.g. we have process_interface_standalone, process_interface_shardsvr and mongos_process_interface but no process_interface_repl_node), with much explicitly sharding-related code incongruously located in MongoInterfaceStandalone and some methods which have fundamental assumptions about their callers baked in, which can lead to subtle bugs (see e.g. SERVER-44977).
We should refactor this into a more sensible and generic hierarchy that any code can confidently call.
- duplicates
- 
                    SERVER-45838 Rename/restructure mongo_process_interface classes/files -         
- Closed
 
-