[SERVER-32927] Assert sharded commands can be accepted after waiting for clusterTime Created: 26/Jan/18 Updated: 30/Oct/23 Resolved: 02/Nov/21 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | 5.2.0, 5.1.0-rc3 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Jack Mulrow | Assignee: | Sophia Tan |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | neweng | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||
| Backport Requested: |
v4.0, v3.6
|
||||||||||||
| Sprint: | Server Serverless 2021-10-25, Server Serverless 2021-11-01, Server Serverless 2021-11-15 | ||||||||||||
| Participants: | |||||||||||||
| Description |
|
Currently, a request's shard version is parsed and then the server immediately asserts that it can accept sharded commands (i.e. its sharding state is initialized). Instead, this should be checked after waiting for readConcern, so the server will have waited if afterClusterTime was given. This would allow a secondary that hasn't finished setting up its sharding state to accept a read with a valid shard version and afterClusterTime >= the optime of the insert of the shard identity document on the primary instead of throwing an error. |
| Comments |
| Comment by Githook User [ 01/Nov/21 ] |
|
Author: {'name': 'Sophia Tan', 'email': 'sophia_tll@hotmail.com', 'username': 'sophiatll'}Message: |