Skip to content

test(NODE-7462): add spec tests for disaggregated storage#4904

Merged
PavelSafronov merged 1 commit intomainfrom
NODE-7462
Mar 25, 2026
Merged

test(NODE-7462): add spec tests for disaggregated storage#4904
PavelSafronov merged 1 commit intomainfrom
NODE-7462

Conversation

@tadjik1
Copy link
Member

@tadjik1 tadjik1 commented Mar 23, 2026

Description

Summary of Changes

Add server discovery and monitoring tests for replica sets that use a constant setVersion value instead of incrementing it on reconfig.

Notes for Reviewers

What is the motivation for this change?

Spec PR
NODE-7462 | DRIVERS-3397

Release Highlight

Release notes highlight

Double check the following

  • Lint is passing (npm run check:lint)
  • Self-review completed using the steps outlined here
  • PR title follows the correct format: type(NODE-xxxx)[!]: description
    • Example: feat(NODE-1234)!: rewriting everything in coffeescript
  • Changes are covered by tests
  • New TODOs have a related JIRA ticket

@tadjik1 tadjik1 marked this pull request as ready for review March 23, 2026 11:14
@tadjik1 tadjik1 requested a review from a team as a code owner March 23, 2026 11:14
Copilot AI review requested due to automatic review settings March 23, 2026 11:14
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds new SDAM replica set spec test fixtures to validate driver behavior when setVersion is constant (disaggregated storage) and during migrations between incrementing and constant setVersion behaviors.

Changes:

  • Add SDAM test for disaggregated storage where primary staleness detection relies on electionId when setVersion is unchanged.
  • Add SDAM migration tests covering ASC→DSC (using setVersionASC + 1) and DSC→ASC (force reconfig with high setVersion).
  • Add SDAM test ensuring host/member list updates are applied even when setVersion and electionId do not change.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.

Show a summary per file
File Description
test/spec/server-discovery-and-monitoring/rs/migration_to_disaggregated_storage.yml YAML fixture describing ASC→DSC forward migration behavior.
test/spec/server-discovery-and-monitoring/rs/migration_to_disaggregated_storage.json Executed SDAM spec test for ASC→DSC migration scenario.
test/spec/server-discovery-and-monitoring/rs/migration_from_disaggregated_storage.yml YAML fixture describing DSC→ASC reverse migration behavior.
test/spec/server-discovery-and-monitoring/rs/migration_from_disaggregated_storage.json Executed SDAM spec test for DSC→ASC migration scenario.
test/spec/server-discovery-and-monitoring/rs/member_list_update_with_unchanged_setversion_and_electionid.yml YAML fixture for member list changes without setVersion/electionId changes.
test/spec/server-discovery-and-monitoring/rs/member_list_update_with_unchanged_setversion_and_electionid.json Executed SDAM spec test ensuring host list updates are still applied.
test/spec/server-discovery-and-monitoring/rs/disaggregated_storage_setversion.yml YAML fixture for constant setVersion + changing electionId behavior.
test/spec/server-discovery-and-monitoring/rs/disaggregated_storage_setversion.json Executed SDAM spec test validating staleness logic with constant setVersion.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@PavelSafronov PavelSafronov self-assigned this Mar 24, 2026
@PavelSafronov PavelSafronov added the Primary Review In Review with primary reviewer, not yet ready for team's eyes label Mar 24, 2026
@PavelSafronov PavelSafronov merged commit 5d414cc into main Mar 25, 2026
34 checks passed
@PavelSafronov PavelSafronov deleted the NODE-7462 branch March 25, 2026 15:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Primary Review In Review with primary reviewer, not yet ready for team's eyes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants