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

Add tests for EINTR resilience and SIGUSR2 robustness

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Server Programmability
    • Fully Compatible
    • Programmability 2024-10-14, Programmability 2024-10-28, Programmability 2024-11-11

      EINTR is a fact of life on unix-like systems, but our tests (at all levels of testing) rarely if ever exercise this case, and if they do, they do so accidentally. In addition, we have some limited coverage of SIGUSR2 (the dump thread stacks signal), but we should have tests that can send the signal at any time.

      To test EINTR support, we can create a background thread in the mongo

      {d,s}

      processes themselves that randomly sends signals to threads. The background thread can be enabled by a failpoint set at startup time via --setParameter.

      We should add the following functionality to the config fuzzer:

      • Force threads in mongo processes to handle signals at random intervals using both a background thread and an external process sending SIGUSR2 to mongo processes in the config fuzzer.

            Assignee:
            alex.li@mongodb.com Alex Li
            Reporter:
            ryan.berryhill@mongodb.com Ryan Berryhill
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: