[SERVER-76976] Programmatic API to get information on sharded collections Created: 10/May/23  Updated: 26/Oct/23

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

Type: Task Priority: Major - P3
Reporter: Antonio Fuschetto Assignee: Backlog - Catalog and Routing
Resolution: Unresolved Votes: 0
Labels: oldshardingemea
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-71158 getShardDistribution does not properl... Closed
Assigned Teams:
Catalog and Routing
Participants:

 Description   

Some functionalities of the drivers and Mongo Shell require access to information on the shared collections. Such information is persisted in the config database owned by the Config Server. 

Commands, like db.collection.getShardDistribution(), are currently implemented by accessing directly to these config collections, which requires to be aware of implementation details that could change from one version to another of the server.

The idea is to decouple these command implementations from the internal representation of the system collections by exposing a programmatic API. Such API can be used to retrieve information on sharded collections, ensuring support and consistency regardless the internal representation of this information.



 Comments   
Comment by Kaloian Manassiev [ 10/May/23 ]

It is not urgent at all.

Title
Implementation-agnostic API for sharding distribution
Summary
This project is about exposing an API to external services to be able to query the sharding distribution, which hides the implementation details and the persistence formats of the config server.
Motivation
There have been numerous cases where for performance, new functionality or bug fixes we have had to change the persistence format of the config server collections (predominantly, config.databases, collections, chunks). Such changes break external services which consume this information and require sharding projects to also have to take that into account.

Comment by Kaloian Manassiev [ 10/May/23 ]

This looks like something that might need a Scope and sign-off from the downstream teams. So it is probably better suited to be a mini-project.

CC cris.insignarescuello@mongodb.com: Should we convert this into a mini-Epic?

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