Skip to content

Distinguish tree and table unordered result test helpers - #19010

Merged
JackieTien97 merged 1 commit into
masterfrom
ty/unordered-result-test-helpers
Oct 24, 2026
Merged

JackieTien97 merged 1 commit into
masterfrom
ty/unordered-result-test-helpers

Conversation

@JackieTien97

Copy link
Copy Markdown
Contributor

Description

The generic unordered SQL test helper always opens a tree-model connection. Rename it to treeResultSetEqualTestUnordered and add tableResultSetEqualTestUnordered with optional database selection.

Both helpers document that the shared assertion uses ClusterTestResultSet.getNodeResultSets to read each DataNode's underlying result set. This bypasses the default cross-node row-by-row comparison while preserving headers, values, and duplicate counts. Update the IT guide and callers, and exercise the table helper with both a selected database and fully qualified table names without USE.

Validation

  • Spotless and git diff --check passed.
  • Targeted clean reactor verification passed with ClusterIT and HighPerformanceMode (1 ConfigNode, 3 DataNodes): 8 tests, 0 failures, 0 errors, 0 skipped.
  • Coverage includes the tree-model GROUP BY TAGS case, the table-model UNION ALL case with duplicate rows/null values and both database options, and all six deterministic result-set regression cases.
mvn -o clean verify -pl integration-test -am \
  -PClusterIT,with-integration-tests -DskipUTs \
  '-Dit.test=IoTDBTimeDurationIT#testTimeDurationManyColumnOnManyDataRegion,IoTDBCollectFanInIT#testUnorderedUnionPreservesEveryDuplicateOnEachNode,IoTDBClusterResultSetIT' \
  -DClusterConfigurations=HighPerformanceMode \
  '-DintegrationTest.includedGroups=org.apache.iotdb.itbase.category.ClusterIT,org.apache.iotdb.itbase.category.TableClusterIT' \
  -DfailIfNoTests=false -Dfailsafe.failIfNoSpecifiedTests=false

This PR has:

  • been self-reviewed.
  • updated documentation and Javadocs for the helper behavior.
  • modified existing integration tests and been tested in a test IoTDB cluster.

@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
C Security Rating on New Code (required ≥ A)
E Reliability Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

@codecov

codecov Bot commented Oct 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 47.79%. Comparing base (374cd6d) to head (944db97).
⚠️ Report is 2 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master   #19010      +/-   ##
============================================
- Coverage     47.79%   47.79%   -0.01%     
  Complexity      806      806              
============================================
  Files          5562     5562              
  Lines        408511   408511              
  Branches      53637    53637              
============================================
- Hits         195266   195254      -12     
- Misses       213245   213257      +12     

☔ 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 7ce3d58 into master Oct 24, 2026
40 of 42 checks passed
@JackieTien97
JackieTien97 deleted the ty/unordered-result-test-helpers branch October 24, 2026 00:56
VGalaxies pushed a commit to VGalaxies/iotdb that referenced this pull request Oct 29, 2026
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