Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-43614

Consider adding "internal" message field to CurrentOp

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.7.0
    • Affects Version/s: None
    • Component/s: Querying
    • Labels:
    • Fully Compatible
    • v4.4
    • Query 2020-03-09, Query 2020-03-23
    • 50

      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.

            Assignee:
            ruoxin.xu@mongodb.com Ruoxin Xu
            Reporter:
            ian.boros@mongodb.com Ian Boros
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated:
              Resolved: