Remove unintended wait timeouts in tests

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Minor - P4
    • None
    • Affects Version/s: None
    • Component/s: None
    • DevProd Correctness
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      I am working on a JavaScript test testing 960 combinations of change stream parameters (and spinning up a sharded cluster twice). After seeing many "Failed to kill cursor" messages in the log, I've added cursor.close() after each use, and the test runtime went from 480 seconds to 150 seconds.

      I think the main reason is that I create an instance of ShardingTest and destroy = 'close' it within my JS test, while mongo shell is tracking open cursors and tries to kill them when the cluster is already dead, which results in many unnecessary timeouts.

      If there is a problem, perhaps we could fix it globally without adding cursor.close() everywhere (which might still be a good idea). In this case, we know that the processes are dead, so ShardingTest could somehow notify mongo shell in ShardingTest.stop().

      Perhaps we can also search for and address other unnecessary timeouts resmoke - based test infrastructure.

            Assignee:
            Unassigned
            Reporter:
            Romans Kasperovics
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated: