[SERVER-45022] Refactor and clean up MongoProcessInterface hierarchy Created: 09/Dec/19  Updated: 06/Dec/22  Resolved: 29/Jan/20

Status: Closed
Project: Core Server
Component/s: Aggregation Framework
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Bernard Gorman Assignee: Backlog - Query Team (Inactive)
Resolution: Duplicate Votes: 0
Labels: qexec-team
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates SERVER-45838 Rename/restructure mongo_process_inte... Closed
Assigned Teams:
Query
Participants:

 Description   

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.



 Comments   
Comment by Charlie Swanson [ 29/Jan/20 ]

bernard.gorman showed this to me and I realized it's a duplicate of SERVER-45838 that I just filed. Since this is internal and there aren't many watchers I'm just closing this as a duplicate of the other one. It is already in progress with a linked code review.

Generated at Thu Feb 08 05:07:39 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.