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

doNotSetMoreToCome failpoint should end isMaster streams

    XMLWordPrintable

Details

    • Task
    • Status: Investigating
    • Major - P3
    • Resolution: Unresolved
    • None
    • None
    • Sharding
    • None
    • Service arch 2020-05-18

    Description

      Drivers intend to use the doNotSetMoreToCome failpoint added inĀ SERVER-47045 to test the following behavior in the streaming protocol:

      If the response is successful (includes "ok:1") and does not include the OP_MSG moreToCome flag, then the client initiates a new awaitable isMaster with the topologyVersion field from the previous response.

      Essentially we want to assert that the Monitor reinitiates a new isMaster stream and never marks the server Unknown. The doNotSetMoreToCome failpoint seems to correctly disable the moreToCome flag but it does not end the stream. So the server will continue sending exhaust responses which violates the OP_MSG protocol. The driver will notice the protocol error and mark the server Unknown (thus failing the test).

      I believe the failpoint needs to end the server's isMaster stream at the same time that it removes the moreToCome flag.

      Attachments

        Issue Links

          Activity

            People

              backlog-server-sharding-nyc Backlog - Sharding NYC
              shane.harvey@mongodb.com Shane Harvey
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated: