ExportXMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      MongoProcessInterface (src/mongo/db/pipeline/process_interface/mongo_process_interface.h) is 820 lines with 68 virtual methods, owned by 10gen/query-optimization via src/mongo/db/pipeline/OWNERS.yml. Every change requires QO review, including methods maintained day-to-day by QE and QI.

      A class declaration does not require all method definitions in one translation unit, so ownership can be routed without touching the header. Leave the header untouched and split the implementation files, adding per-file OWNERS.yml entries:

      • Split common_mongod_process_interface.cpp into _qe.cpp, _qo.cpp, _qi.cpp, and a smaller shared-infra file co-owned by all three teams.
      • Apply the same split to shardsvr_process_interface.cpp and mongos_process_interface.cpp.
      • Leave stubs and replica_set_node unsplit.

      Each new file is a separate srcs entry in the existing cc_library target. No behavior change. Per-method assignments will be enumerated in the PR.

      Signature changes in the header still route to the header owner. Splitting it into per-team pure-abstract mixins would close that gap and is a natural follow-up; this split is its prerequisite.

            Assignee:
            Mihai Andrei
            Reporter:
            Mihai Andrei
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: