[SERVER-43614] Consider adding "internal" message field to CurrentOp Created: 24/Sep/19 Updated: 29/Oct/23 Resolved: 19/Mar/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Querying |
| Affects Version/s: | None |
| Fix Version/s: | 4.7.0 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Ian Boros | Assignee: | Ruoxin Xu |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | neweng, qexec-team | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||
| Backport Requested: |
v4.4
|
||||||||||||||||||||||||
| Sprint: | Query 2020-03-09, Query 2020-03-23 | ||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Linked BF Score: | 50 | ||||||||||||||||||||||||
| Description |
|
In the distant past, we've written a lot of tests with failpoints which are racy because they need to wait until the server is hanging on the failpoint. In the recent past, we've gotten around this by having the server set the CurOp "message" field to the failpoint name while hanging on the failpoint. The test then uses $currentOp to determine when the server is actually hanging on the failpoint. Unfortunately, other commands such as map reduce use CurOp "message" field as well. This means that any commands which use the "message" field are incompatible with failpoints which set the field to indicate that the server is hung (trying to do both will trip verifies(), see here).
We should consider adding a field to CurOp that is only for failpoints/internal use so that we don't have this problem. We could only serialize this field to the output of $currentOp if it was set, so in practice, users wouldn't see it. |
| Comments |
| Comment by Githook User [ 14/May/20 ] |
|
Author: {'name': 'Suganthi Mani', 'email': 'suganthi.mani@mongodb.com', 'username': 'smani87'}Message: |
| Comment by Githook User [ 19/Mar/20 ] |
|
Author: {'email': 'ruoxin.xu@mongodb.com', 'name': 'Ruoxin Xu', 'username': 'RuoxinXu'}Message: |