-
Type: Task
-
Resolution: Won't Do
-
Priority: Major - P3
-
Affects Version/s: None
-
Labels:
-
0.3
----------------------------
Original Description
Documentation at https://docs.mongodb.com/manual/tutorial/backup-sharded-cluster-metadata/ states the following:
[1] While one of the three config servers is unavailable, the cluster cannot split any chunks nor can it migrate chunks between shards. Your application will be able to write data to the cluster. See Config Servers for more information.
The above is true for SCCC only. For CSRS, writes to the config server would still occur as long as there's a majority of data bearing nodes available.
I suggest two alternatives for CSRS specific documentation, depending on the user requirement:
- If the goal is to simply get a backup of the config server (regardless of possible replication lag or writes happening on the cluster), then just remove the paragraph that I quoted. I would also argue that it is not required to disable the balancer, as we want the backup to only to be consistent at the filesystem level.
- If the goal is to back up the metadata at a specific point in time and/or to ensure consistency at the CSRS replica set level, then we should make a majority of CSRS members unavailable, and take the backup on the member that was last made unavailable.
IMO the second goal can be achieved by either shutting down a majority of nodes, or via fsynlock().
----------------------------