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

doNotSetMoreToCome failpoint should end isMaster streams

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Sharding
    • None
    • Cluster Scalability
    • Service arch 2020-05-18

      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.

            Assignee:
            backlog-server-cluster-scalability [DO NOT USE] Backlog - Cluster Scalability
            Reporter:
            shane.harvey@mongodb.com Shane Harvey
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: