[SERVER-76197] Lock-free reads on a shard secondary node can mismatch the storage snapshot and shard version Created: 17/Apr/23 Updated: 27/Oct/23 Resolved: 21/Jul/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Jordi Serra Torrens | Assignee: | [DO NOT USE] Backlog - Sharding EMEA |
| Resolution: | Gone away | Votes: | 0 |
| Labels: | PM-2144-Milestone-0 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Assigned Teams: |
Sharding EMEA
|
||||||||
| Operating System: | ALL | ||||||||
| Participants: | |||||||||
| Description |
|
Lock-free reads first open a storage engine snapshot and later check that the shard version the router sent matches the installed one. Because there's no shardVersion check before opening the snapshot, the snapshot could correspond to a different sharding placement. This will cause the query to not notice a placement mismatch or to be executed with a sharding filter that does not match the storage engine snapshot. |
| Comments |
| Comment by Jordi Serra Torrens [ 21/Jul/23 ] |
|
|