[SERVER-69594] Merge the `grid` library into `sharding_client` and delete it Created: 12/Sep/22  Updated: 21/Oct/22  Resolved: 14/Sep/22

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

Type: Improvement Priority: Major - P3
Reporter: Andrew Shuvalov (Inactive) Assignee: Andrew Witten (Inactive)
Resolution: Won't Do Votes: 0
Labels: sharding-nyc-subteam2
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Sprint: Sharding NYC 2022-10-31
Participants:
Story Points: 2

 Description   

We need to unroll the dependency loop in order to deprecate the CatalogClient class:

library dependency cycle detected: build/opt/mongo/s/libgrid.so => build/opt/mongo/s/catalog/libsharding_catalog_client_impl.so => build/opt/mongo/s/client/libsharding_client.so => build/opt/mongo/s/libgrid.so

The criteria to test that the dependency loop is eliminated is to add some dummy calls to libsharding_client from ShardRegistry, and fix all the link errors resulting from this.

Most likely it will be sufficient to move everything from grid into libsharding_client, but before mechanically doing so, try to find a proper home for every class in the grid.



 Comments   
Comment by Andrew Witten (Inactive) [ 14/Sep/22 ]

Andrew Shuvalov observed this when trying to collapse the class ShardingCatalogClientImpl into the interface ShardingCatalogClient that it implements.  There isn't a reason to do this.  I am therefore closing this ticket.

Generated at Thu Feb 08 06:13:52 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.