[SERVER-27499] Race condition in SyncSourceResolver shutdown Created: 22/Dec/16 Updated: 06/Dec/22 |
|
| Status: | Backlog |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Mathias Stearn | Assignee: | Backlog - Replication Team |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | neweng | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Assigned Teams: |
Replication
|
||||||||||||||||
| Operating System: | ALL | ||||||||||||||||
| Participants: | |||||||||||||||||
| Description |
|
shutdown() can be called between the times that a callback starts and the point when it schedules more work. In particular it can happen before _scheduleFetcher() acquires its mutex so it needs to check for shutdown. Also, every call to _isShuttingDown() is fishy since shutdown() can be called as soon as it returns. |
| Comments |
| Comment by Siyuan Zhou [ 02/Jun/17 ] |
|
There was a similar problem in bgsync in |
| Comment by Judah Schvimer [ 20/Jan/17 ] |
|
siyuan.zhou, please consider this when working on the catchup timeout work. We also should investigate how serious this is and how often we block waiting for SyncSourceResolver shutdown. |