[SERVER-77391] List MongoS libraries that new MongoD requires to link for routing Created: 23/May/23  Updated: 24/Jul/23  Resolved: 24/May/23

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

Type: Task Priority: Major - P3
Reporter: Antonio Fuschetto Assignee: Antonio Fuschetto
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File dep_distribution.png     File mongod_dep.sorted     File mongos_dep.sorted    
Issue Links:
Depends
is depended on by SERVER-77392 Build a new MongoD binary including a... Closed
Assigned Teams:
Sharding EMEA
Sprint: Sharding EMEA 2023-05-29
Participants:

 Description   

In order to implement the routing service in a new MongoD component, we need to identify the libraries currently linked by the MongoS binary that should be linked by the new MongoD binary.

Ideally, we should determine the list of libraries currently used by the MongoD and the MongoS binaries and measure their intersection.



 Comments   
Comment by Antonio Fuschetto [ 23/May/23 ]

Analyzing the dependency graph of the MongoS and MongoD respectively, it appears that the MongoD links 689 libraries (third-party excluded, see mongod_dep.sorted) and the MongoS links 461 libraries (see mongos_dep.sorted).

Of these, 449 libraries are linked by both the MongoS and MongoD executables, 12 are linked by the MongoS executable only, and 240 by the MongoD only:

Those linked only by MongoS only are:

Library Filename
authmongos mongo/db/auth/libauthmongos.a
ftdc_mongos mongo/db/ftdc/libftdc_mongos.a
service_liaison_mongos mongo/db/libservice_liaison_mongos.a
mongos_process_interface_factory mongo/db/pipeline/process_interface/libmongos_process_interface_factory.a
config_server_health_observer mongo/db/process_health/libconfig_server_health_observer.a
fault_manager mongo/db/process_health/libfault_manager.a
cluster_server_parameter_refresher mongo/idl/libcluster_server_parameter_refresher.a
cluster_commands mongo/s/commands/libcluster_commands.a
sharded_cluster_commands mongo/s/commands/libsharded_cluster_commands.a
mongos_initializers mongo/s/libmongos_initializers.a
mongos_main mongo/s/libmongos_main.a
vector_clock_mongos mongo/s/libvector_clock_mongos.a
Generated at Thu Feb 08 06:35:24 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.