Skip to content

[Test] Preserve quorum during session seed fallback recovery - #18958

Merged
JackieTien97 merged 1 commit into
masterfrom
ty/fix-seed-fallback-it-quorum
Oct 21, 2026
Merged

JackieTien97 merged 1 commit into
masterfrom
ty/fix-seed-fallback-it-quorum

Conversation

@JackieTien97

Copy link
Copy Markdown
Contributor

Description

The omitted-seed recovery IT stopped two members of a three-replica Ratis cluster. This also removed the quorum needed by editions whose login path queries persisted password history, so reconnection could fail before exercising the recovery query.

Keep DN2 running while excluding it from the clients' initial snapshots and seed lists. Start both suppliers with the stale snapshot [DN1] and seeds [DN0, DN1], recover DN0, and stop only DN1. Assert that the business connection falls back to DN0, both suppliers discover {DN0, DN2}, and their original seeds remain unchanged. Probe the recovered seed with a separate session and allow 30-second connection timeouts for login and election work.

Validation

  • Passed a clean reactor verification on Apache IoTDB with ClusterIT: SessionSeedNodeFallbackIT ran both methods with 0 failures, 0 errors, and 0 skips.
  • Passed full-reactor English test compilation with the integration-test module enabled.
  • Passed full-reactor Chinese test compilation with the integration-test module enabled.
  • TimechoDB execution has not been performed locally.

Commands:

mvn clean verify -DskipUTs -Dit.test=SessionSeedNodeFallbackIT \
  -DfailIfNoTests=false -Dfailsafe.failIfNoSpecifiedTests=false \
  -pl integration-test -am -PClusterIT -Pwith-integration-tests
mvn test-compile -DskipTests -Pwith-integration-tests
mvn test-compile -DskipTests -Pwith-integration-tests,with-zh-locale

This PR has:

  • been self-reviewed.
  • added comments explaining the test preconditions.
  • modified the existing integration test.
  • been tested in a three-DataNode IoTDB cluster.

Key changed class: SessionSeedNodeFallbackIT.

@codecov

codecov Bot commented Oct 21, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 47.10%. Comparing base (4fceb75) to head (2ce52b7).
⚠️ Report is 7 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##             master   #18958   +/-   ##
=========================================
  Coverage     47.09%   47.10%           
  Complexity      737      737           
=========================================
  Files          5539     5539           
  Lines        405217   405217           
  Branches      53029    53029           
=========================================
+ Hits         190854   190863    +9     
+ Misses       214363   214354    -9     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@JackieTien97
JackieTien97 merged commit 858df28 into master Oct 21, 2026
39 of 40 checks passed
@JackieTien97
JackieTien97 deleted the ty/fix-seed-fallback-it-quorum branch October 21, 2026 08:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant