[SERVER-49396] Only activate skipWriteConflictRetries failpoint for user connections Created: 09/Jul/20 Updated: 29/Oct/23 Resolved: 27/Jul/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 4.7.0, 4.4.2 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Louis Williams | Assignee: | Louis Williams |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||
| Operating System: | ALL | ||||||||||||||||
| Backport Requested: |
v4.4
|
||||||||||||||||
| Sprint: | Execution Team 2020-08-10 | ||||||||||||||||
| Participants: | |||||||||||||||||
| Linked BF Score: | 18 | ||||||||||||||||
| Description |
|
Both the initial sync and rollback fuzzers enable the skipWriteConflictRetries failpoint, which effectively removes the writeConflictRetry exception handler around all operations. The rationale for this failpoint is that these fuzzers can generate statements that block on transactions indefinitely, and allowing them to fail immediately allows tests to make forward progress. For non-user operations, however, this allows WriteConflictExceptions to escape threads that rely on writeConflictRetry exception-handling mechanism. We can work around this problem by only activating the skipWriteConflictRetries failpoint if the operation isFromUserConnection. This would allow the tests to make forward progress without risking crashing internal threads. |
| Comments |
| Comment by Githook User [ 08/Sep/20 ] |
|
Author: {'name': 'Louis Williams', 'email': 'louis.williams@mongodb.com', 'username': 'louiswilliams'}Message: (cherry picked from commit 6086feae0b0f38bd14bbc8521c4115982433ae9e) |
| Comment by Githook User [ 27/Jul/20 ] |
|
Author: {'name': 'Louis Williams', 'email': 'louis.williams@mongodb.com', 'username': 'louiswilliams'}Message: |