[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:
Related
related to SERVER-28490 Check the state after acquiring the l... Closed
related to SERVER-31262 Storage of _rbidCommandHandle can rac... Closed
is related to SERVER-26848 Exit catchup mode when not syncing mo... Closed
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 SERVER-28490, but it has nothing to do with catchup.

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.

Generated at Thu Feb 08 04:15:20 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.