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

Spec test "change stream resumes after StaleShardVersion" fails on server version > 6.0

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Unknown Unknown
    • None
    • Component/s: Change Streams
    • Labels:
      None
    • Needed
    • Hide

      Drivers should sync their change-streams-resume-errorLabels spec test file to this commit: https://github.com/mongodb/specifications/commit/8d897ad01f8c600ddaef139740d5b68fd2950c0e.

      We now skip the StaleShardVersion resumability test on 6.1+, as the error has been removed by the server and is therefore no longer marked as resumable.

      Show
      Drivers should sync their change-streams-resume-errorLabels spec test file to this commit: https://github.com/mongodb/specifications/commit/8d897ad01f8c600ddaef139740d5b68fd2950c0e . We now skip the StaleShardVersion  resumability test on 6.1+, as the error has been removed by the server and is therefore no longer marked as resumable.
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-4429 Fixed 1.22.1
      CXX-2547 Fixed 3.7.0
      CSHARP-4259 Fixed 2.18.0
      GODRIVER-2494 Done
      JAVA-4680 Fixed 4.8.0
      NODE-4434 Fixed 4.9.0
      MOTOR-996 Duplicate
      PYTHON-3358 Fixed 3.13, 4.3
      PHPLIB-914 Fixed 1.15.0
      RUBY-3053 Fixed 2.18.1
      RUST-1412 Fixed 2.4.0
      SWIFT-1604 Fixed 1.4.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-4429 Fixed 1.22.1 CXX-2547 Fixed 3.7.0 CSHARP-4259 Fixed 2.18.0 GODRIVER-2494 Done JAVA-4680 Fixed 4.8.0 NODE-4434 Fixed 4.9.0 MOTOR-996 Duplicate PYTHON-3358 Fixed 3.13, 4.3 PHPLIB-914 Fixed 1.15.0 RUBY-3053 Fixed 2.18.1 RUST-1412 Fixed 2.4.0 SWIFT-1604 Fixed 1.4.0

      Summary

      The change streams spec test "change stream resumes after StaleShardVersion" here has started failing against server latest because the StaleShardVersion error has been obsoleted as of SERVER-63327 / SERVER-64449. It seems as part of this change the server no longer attaches the ResumableChangeStreamError label and therefore the driver does not consider the error retryable, meaning the resume process is not attempted and the test fails.

      According to SERVER-64449 this error is obsoleted by StaleConfig. We do include StaleConfig in the change streams spec list of resumable errors, however we do not seem to have any tests around it. We could just update this test to use StaleConfig instead, or alternatively update this test to run on only <= 6.0 and add a new test using StaleConfig that runs on all server versions.

      Is this issue urgent?

      Drivers can skip the failing test for now but it would be good to make this small change sooner rather than later so we don't lose coverage.

      Is this ticket required by a downstream team?

      No.

      Is this ticket only for tests?

      Just testing updates.

            Assignee:
            benji.rewis@mongodb.com Benji Rewis (Inactive)
            Reporter:
            kaitlin.mahar@mongodb.com Kaitlin Mahar
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: