[SERVER-48722] CollectionCriticalSection should wait for an eventual shard version recovery to finish Created: 11/Jun/20 Updated: 16/Jun/20 Resolved: 16/Jun/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Pierlauro Sciarelli | Assignee: | Pierlauro Sciarelli |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | PM-1645-Milestone-1 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Operating System: | ALL | ||||||||
| Participants: | |||||||||
| Description |
|
A thread entering the critical section should make sure that there is no ongoing shard version recovery. |
| Comments |
| Comment by Pierlauro Sciarelli [ 15/Jun/20 ] |
|
Repurposed in https://jira.mongodb.org/browse/SERVER-48722 |
| Comment by Pierlauro Sciarelli [ 15/Jun/20 ] |
|
— EDIT repurposing the issue after discussing with kaloian.manassiev It is not needed for CollectionCriticalSection to wait for a recovery because it is actually not needed for critical section to be entered when performing a recovery in onShardVersionMismatch. Reason: if a recovery is performed while a moveChunk is ongoing, the recovered version is still good for the incoming operations relying on the "soon-to-be-outdated" shard version. |
| Comment by Pierlauro Sciarelli [ 11/Jun/20 ] |
|
It's a moveChunk, I am looking into it and I will probably repurpose the issue as the CollectionCriticalSection caller should probably take care of checking/waiting for recover/refreshes |
| Comment by Kaloian Manassiev [ 11/Jun/20 ] |
|
pierlauro.sciarelli, what is the activity, which enters the critical section while there is ongoing refresh? |