[SERVER-46202] Implement ShardRegistry on top of ReadThroughCache to make it causally consistent Created: 15/Feb/20  Updated: 29/Oct/23  Resolved: 17/Sep/20

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

Type: Task Priority: Major - P3
Reporter: Kaloian Manassiev Assignee: Kevin Pulo
Resolution: Fixed Votes: 0
Labels: PM-1645-Milestone-3
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-46154 Make ReadThroughCache be driven by a ... Closed
depends on SERVER-47406 Implement the persistence and trackin... Closed
depends on SERVER-48717 Implement the persist/recover functio... Closed
depends on SERVER-49189 Make the ReadThroughCache lookup send... Closed
is depended on by SERVER-53533 Remove deprecated return value from S... Closed
Problem/Incident
Related
related to SERVER-48201 ShardRegistry::reload() competes with... Closed
related to SERVER-50209 ShardRegistry internal reload is not ... Closed
related to SERVER-52633 Remove unnecessary lookups during fin... Backlog
related to SERVER-52629 Apply lookup by ShardId first in non ... Closed
is related to SERVER-50907 Shard objects should cache their own ... Closed
is related to SERVER-50997 Make ShardRegistry::updateReplSetHost... Closed
is related to SERVER-50908 Investigate if ShardNotFound special-... Backlog
is related to SERVER-50206 Remove "NoReload" ShardRegistry looku... Blocked
is related to SERVER-50207 Investigate if ShardRegistry reads on... Closed
is related to SERVER-50906 Consider running shardRemovalHooks sy... Closed
is related to SERVER-50910 Make ShardRegistry::_getData() async Closed
Backwards Compatibility: Minor Change
Sprint: Sharding 2020-07-13, Sharding 2020-06-29, Sharding 2020-07-27, Sharding 2020-08-10, Sharding 2020-08-24, Sharding 2020-09-21
Participants:
Linked BF Score: 0

 Description   

This task is to define appropriate vector clock timestamp classes for the objects stored in ShardRegistry and to implement it on top of ReadThroughCache in order to make it causally consistent.



 Comments   
Comment by Githook User [ 16/Sep/20 ]

Author:

{'name': 'Kevin Pulo', 'email': 'kevin.pulo@mongodb.com', 'username': 'devkev'}

Message: SERVER-46202 Implement ShardRegistry on top of ReadThroughCache
Branch: master
https://github.com/mongodb/mongo/commit/5a1953c4ae4416a60c45c5c90a210bd84b352032

Comment by Githook User [ 15/Sep/20 ]

Author:

{'name': 'Tommaso Tocci', 'email': 'tommaso.tocci@mongodb.com', 'username': 'toto-dev'}

Message: Revert "SERVER-46202 Implement ShardRegistry on top of ReadThroughCache"

This reverts commit a8913858697363a26b06996f0821045b550bea27.
Branch: master
https://github.com/mongodb/mongo/commit/945ca4f1112f8846e793b40ff47610927b6fc298

Comment by Tommaso Tocci [ 15/Sep/20 ]

I reverted this because it makes failing consistently the clusterwide_ops_with_add_drop_shards.js test on the concurrency_sharded_clusterwide_ops_add_remove_shards.

Comment by Kevin Pulo [ 15/Sep/20 ]

Just a note, tommaso.tocci helped on this ticket, but when I squashed the development commits I forgot to adjust the Author and add a Co-authored-by field.

Comment by Githook User [ 15/Sep/20 ]

Author:

{'name': 'Tommaso Tocci', 'email': 'tommaso.tocci@mongodb.com', 'username': 'toto-dev'}

Message: SERVER-46202 Implement ShardRegistry on top of ReadThroughCache
Branch: master
https://github.com/mongodb/mongo/commit/a8913858697363a26b06996f0821045b550bea27

Comment by Githook User [ 05/Aug/20 ]

Author:

{'name': 'Kevin Pulo', 'email': 'kevin.pulo@mongodb.com', 'username': 'devkev'}

Message: SERVER-46202 Make ShardRegistryData immutable
Branch: master
https://github.com/mongodb/mongo/commit/403ee63aad4b5d76b2abd5e003eb77cb1dbdbf51

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