-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication
-
Fully Compatible
-
ALL
-
v5.0, v4.4
-
Repl 2020-09-07, Repl 2020-09-21
-
10
Cancelling an initial sync attempt may be missed if the code has run a callback but the callback has not yet acquired the initial syncer mutex. Since the callback is already running it won't be canceled, and the code has no way to know not to schedule the next callback.
This may be a matter of having _checkForShutdownAndConvertStatus_inlock check an overall status, though caution must be taken when a lock may be temporarily released in a callback, and also at least one call of _checkForShutdownAndConvertStatus_inlock occurs (despite the name) outside the lock.
- related to
-
SERVER-51597 Don't try to cleanly shut down initial syncer when config changes
- Closed
-
SERVER-44272 Resync data on replSetSyncFrom during initial sync
- Closed