Skip to content

[1.3] Fix JDBC test cleanup and Pipe diagnostics IT barriers - #19193

Open
Caideyipi wants to merge 1 commit into
dev/1.3from
codex/cp-c5f57e9-dev13
Open

Caideyipi wants to merge 1 commit into
dev/1.3from
codex/cp-c5f57e9-dev13

Conversation

@Caideyipi

Copy link
Copy Markdown
Collaborator

Description

Backport the applicable changes from #19160 (c5f57e9) onto dev/1.3 at 8f589d4.

Non-query test helpers now close statements and internally created connections on success and failure, while preserving caller-owned connections. The Pipe diagnostics tests wait for the asynchronous leader-change procedure and its coordinator lock before issuing DROP, and verify that DROP creates a new connection attempt.

Compatibility adaptations:

  • Keep the existing dev/1.3 retry helper, which already uses try-with-resources. Adapt its cleanup regression scenarios to the existing four-argument API; there is no borrowed-connection retry overload on this branch.
  • Match the existing dev/1.3 leader-change log marker and retain the tree-model test categories.
  • Intentionally omit the rejected-submission stubbing hunk: this branch lacks the corresponding regression test and prerequisite rollback behavior from Fix pipe task start failures: report, roll back and recover #19119. No prerequisite product changes are included.

Validation

  • Spotless passed with the integration-test profile enabled.
  • Built the matching TsFile dependency from source. A clean ClusterIT reactor executed all 711 goals without output-cache reuse; the required IoTDB modules and integration-test sources compiled successfully.
  • All three new resource-cleanup tests passed under both SimpleIT and ClusterIT (no failures, errors, or skips). The SimpleIT dependency build partly reused cached outputs; the subsequent ClusterIT build rebuilt the required dependency closure from clean source.
  • The clean ClusterIT attempt passed the Pipe recovery scenario but failed the existing concurrent-operation assertion: ALTER returned PIPE_NOT_EXIST_ERROR (1806) instead of PIPE_ERROR (1107). The server log shows that the background DROP finished immediately after its timeout response, before ALTER ran. The new leader-change barrier and connection-count assertion passed. No assertions or product behavior were changed to hide this result.
  • A single focused retry of the concurrent-operation scenario reproduced the same 1806-versus-1107 failure. The DROP completion flow and timeout configuration are also present in the source revision; this remaining timing race needs a separate follow-up.

* Stub rejected submissions before registering pipe subtasks

* Fix JDBC resource cleanup in non-query test utilities

* Stabilize pipe operation diagnostics IT barriers

(cherry picked from commit c5f57e9)
@sonarqubecloud

sonarqubecloud Bot commented Nov 9, 2026

Copy link
Copy Markdown

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