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

ShardSplitDonorServiceTest fails due to a race condition when responding to recipient node monitor scheduled requests

    • Type: Icon: Bug Bug
    • Resolution: Won't Do
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Serverless
    • ALL
    • Server Serverless 2022-04-18
    • 34

      There is currently a race condition in the BasicShardSplitDonorServiceInstanceCreation which can potentially lead to only one recipient node monitor being created and we would immediately start processing the Scheduled Requests however we expect to have all of the requests ready and in this case only one is available yet and an assert is thrown when trying to process the next one.

      The solution is simply to only start responding to scheduled request once all the recipient node monitors are created and all the requests are scheduled.

      A solution would be to keep track of the hosts and hello requests in order to avoid potential missed hello responses. We should make sure each host as responded at least once in order to validate all the expected hello requests.

      • Map the responded heartbeats to the hosts
      • keep processing heartbeats all hosts have responded to at least one heartbeat request
      • stop processing heartbeats once all the hosts have responded at least once or if the test waited too long to receive a request.

            Assignee:
            backlog-server-serverless [DO NOT USE] Backlog - Server Serverless (Inactive)
            Reporter:
            mathis.bessa@mongodb.com Mathis Bessa (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: