Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-2609

Deprecate sharded-replicaset topology type and clean up redundant runOnRequirements

    • Needed
    • Hide

      Sync spec tests to mongodb/specifications@474ddfc for the following directories:

      • change-streams/tests/unified
      • client-side-operations-timeout/tests
      • retryable-writes/tests/unified
      • sessions/tests
      • transactions/tests/unified
      • unified-test-format/tests/valid-pass
      • versioned-api/tests

      No test runner changes should be required.

      Show
      Sync spec tests to mongodb/specifications@474ddfc for the following directories: change-streams/tests/unified client-side-operations-timeout/tests retryable-writes/tests/unified sessions/tests transactions/tests/unified unified-test-format/tests/valid-pass versioned-api/tests No test runner changes should be required.
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-4639 Backlog
      CXX-2690 Fixed 3.8.0
      CSHARP-4649 Backlog
      GODRIVER-2838 Fixed 2.0.0
      JAVA-4961 Won't Fix
      NODE-5276 Backlog
      MOTOR-1132 Duplicate
      PYTHON-3712 Backlog
      PHPLIB-1132 Fixed 1.16.0
      RUBY-3254 Fixed 2.19.0
      RUST-1649 Fixed 2.6.0
      $i18n.getText("admin.common.words.show")
      #scriptField, #scriptField *{ border: 1px solid black; } #scriptField{ border-collapse: collapse; } #scriptField td { text-align: center; /* Center-align text in table cells */ } #scriptField td.key { text-align: left; /* Left-align text in the Key column */ } #scriptField a { text-decoration: none; /* Remove underlines from links */ border: none; /* Remove border from links */ } /* Add green background color to cells with FixVersion */ #scriptField td.hasFixVersion { background-color: #00FF00; /* Green color code */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion CDRIVER-4639 Backlog CXX-2690 Fixed 3.8.0 CSHARP-4649 Backlog GODRIVER-2838 Fixed 2.0.0 JAVA-4961 Won't Fix NODE-5276 Backlog MOTOR-1132 Duplicate PYTHON-3712 Backlog PHPLIB-1132 Fixed 1.16.0 RUBY-3254 Fixed 2.19.0 RUST-1649 Fixed 2.6.0

      Summary

      I came across some redundant runOnRequirement definitions in various spec tests while reviewing mongodb/specifications#1389 for DRIVERS-2577. For instance, some specs include both "sharded-replicaset" and "sharded" in the same topologies array.

      MongoDB 3.6+ requires that all shards be replica sets (see: Shard Replica Sets from the MongoDB 3.6 release notes). With that in mind, the "sharded-replicaset" topology is not useful for runOnRequirements that specify a minServerVersion of 3.6+.

      Historically, I cannot recall a case where a test incorrectly used "sharded" instead of "sharded-replicaset". This would only have been an issue for testing on pre-3.6 servers, but most of the features that require replica sets already require 3.6+ (e.g. change streams, transactions). Additionally, the mongo-orchestration configs in drivers-evergreen-tools have historically used replica sets for shards.

      The Unified Test Format spec format would do well to deprecate "sharded-replicaset" and encourage tests to use "sharded" in its place (when targeting 3.6+ servers).

      Motivation

      Who is the affected end user?

      Driver developers.

      How does this affect the end user?

      Using "sharded-replicaset" adds unnecessary overhead. Additionally, redundant runOnRequirements make tests files more verbose.

      Is this issue urgent?

      No.

      Is this ticket required by a downstream team?

      No.

      Is this ticket only for tests?

      Yes.

            Assignee:
            jmikola@mongodb.com Jeremy Mikola
            Reporter:
            jmikola@mongodb.com Jeremy Mikola
            Andreas Braun Andreas Braun
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: