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

Remove reconfig retries in our tests

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None

      Description

      The reconfig helpers throughout the testing infrastructure retry on various transient errors. Some are due to automatic reconfigs that bump the config version and happen asynchronously, others are due to unnecessary connections being closed due to SERVER-48178. The retries were first added in SERVER-32028, SERVER-40060, SERVER-32638, SERVER-31080, SERVER-27839, and SERVER-27551, but extended significantly in SERVER-46541.

      In general our retries are not consistent between python fixture initiate, python fixture reconfig, javascript fixtures, and javascript helpers. It's not clear why these differences exist, or if it's just because of where we've historically seen BFs.

      Following closing SERVER-48178 we may be able to remove the NodeNotFound retries (see this comment for details).

      We also can consider waiting for 'newlyAdded' removals before issuing reconfigs in more places, rather than just retrying on failures. This might not be straightforward though, since waiting for 'newlyAdded' removals may not always be possible in some testing configurations. This will allow us to not retry on ConfigurationInProgress, ConfigurationNotCommittedYet, and possibly NewReplicaSetConfigurationIncompatible errors.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              backlog-server-repl Backlog - Replication Team
              Reporter:
              judah.schvimer Judah Schvimer
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: