[SERVER-27280] repl failpoints that block until they're turned off should check for shutdown at intervals Created: 05/Dec/16 Updated: 06/Dec/22 Resolved: 20/Jul/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | 3.4.0 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Esha Maharishi (Inactive) | Assignee: | Backlog - Replication Team |
| Resolution: | Won't Fix | 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 |
|
The following places use the
pattern, without checking for shutdown inside the while: SyncTail::getMissingDoc() rs_rollback.cpp::_syncRollback() CollectionCloner::_insertDocumentsCallback rs_initialsync.cpp::_initialSync If some test turns on the failpoint but forgets to turn it off, a node that hits the failpoint will hang in shutdown, causing failures like the ones addressed by They should all be changed to check for being in shutdown (possibly through the inShutdown() function). |
| Comments |
| Comment by Spencer Brody (Inactive) [ 20/Jul/17 ] |
|
We've been fixing these as we come across them and as they cause issues, but we aren't planning a dedicated pass to clean up all failpoints in the repl code. |
| Comment by Andy Schwerin [ 05/Dec/16 ] |
|
Except if the failpoint is supposed to block shutdown? In any event, I would like to discourage ever calling the global inShutdown() function. It makes shutdown coordination difficult. |