-
Type:
Improvement
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Catalog and Routing
-
None
-
None
-
None
-
None
-
None
-
None
-
None
From a conceptual perspective, "Router Role" and "Router Service" represent two well-separated concepts:
- a "Router Service" is a node implementing routing functionalities and making them available to external clients through a dedicated ServiceEntryPoint, a CommandRegistry and other pieces of infrastructure;
- the "Router Role" is the behavior that a mongod node may temporarily assume to involve other shards in the execution of an inflight user command/query; under such a role, the mongod executes some of the functionalities that usually characterize a "Router Service".
Nevertheless, the current state of the server codebase does not clearly reflect this separation: in particular, the "Router Role" expression is often misused or mixed with other concerns. As an example, service_entry_point_router_role.cpp contains logic that defines the behavior of the "Router Service Entry Point".
The objective of this ticket is to audit existing usages of "router role" terminology in source code and file names and correct potential inconsistencies.