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

Improve concurrency testing for mongos cluster cursor manager

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: Querying
    • Labels:

      Description

      SERVER-27796 (still unsolved) indicates that there may be a bug related to concurrency control in the cluster cursor manager. While we have a JS concurrency test (also this one) which target mongos cursor manager, the bug has never been reproduced in our own test environment.

       

      We should consider adding a unit test which stresses the concurrency control of the cluster cursor manager directly, in similar spirit to d_concurrency_test, which directly stresses the mongod locking code with 32 threads. If the cause of SERVER-27796 is a concurrency control issue in the CCC, this would give us a better chance of reproducing it.

      The existing JS test also runs with a mere 3 collections. The mongos code which triggers the invariant failure has to do with all cursors for a collection being destroyed, meaning that the JS test likely does not exercise this path very often. We should investigate whether this is indeed the case, and allow the test to run with more collections (assuming it won't make the existing workload useless) if so.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              backlog-query-execution Backlog - Query Execution
              Reporter:
              ian.boros Ian Boros
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated: