Skip to content

[To dev/1.3] [Test] Check receiver data after stopping pipes (#18941) - #18955

Open
Caideyipi wants to merge 2 commits into
apache:dev/1.3from
Caideyipi:cp-18941-dev-1.3
Open

Caideyipi wants to merge 2 commits into
apache:dev/1.3from
Caideyipi:cp-18941-dev-1.3

Conversation

@Caideyipi

@Caideyipi Caideyipi commented Oct 21, 2026 •

Copy link
Copy Markdown
Collaborator

Description

Partial backport of c535723 (#18941) to dev/1.3.

After stopping a pipe and inserting more sender data, an eventual assertion can succeed on the first read of the receiver's existing contents and miss later unwanted transfers. Port the five applicable tree-model lifecycle/protocol assertions to assertDataAlwaysOnEnv, and replace the two fixed five-second sleeps with continuous checks. Adapt the paths to the 1.3 pipe/it/autocreate layout; the table-model tests in the original commit do not exist in this branch.

The 1.3 assertDataAlwaysOnEnv also needs a small prerequisite fix: it configures Awaitility's failFast callback without a terminal condition, so it never executes a query. Restore the polling behavior already used on master with during, a bounded timeout, and until, checking the result immediately and throughout the observation window.

Enabling these checks exposes stale expectations in the manual schema/auth inclusion tests. Correct the user/privilege column headers, include the replicated schema column when asserting an empty data result, and restore the trailing comma on the timestamp header. Wait eventually for asynchronously replicated privileges; keep continuous assertions for excluded users, databases, and data.

Validation

Apache IoTDB 1.3.7-SNAPSHOT, JDK 17, Windows:

  • At f53fda837ae, Spotless, Checkstyle, and reactor test-compile passed with with-integration-tests,MultiClusterIT2ManualCreateSchema enabled.
  • All four previously failing manual IT methods passed with no failures or skips: IoTDBPipeInclusionIT.testPureSchemaInclusion, testAuthExclusion, testAuthInclusionWithPattern, and IoTDBPipeMetaHistoricalIT.testAuthInclusion. Run through direct JUnit method requests using the existing IoTDBTestRunner and built node templates, with HighPerformanceMode on both sides (Ratis/Ratis/IoT, schema/data replication 3/2). The inclusion tests used 1C3D on each side; the historical test used a 1C3D sender and its required 3C3D receiver. JVM heaps were reduced and two processors exposed to fit the local host.
  • At eba6ac4b1db, clean reactor compilation and node template packaging completed. Seven lifecycle/protocol methods passed through the same direct JUnit runner with 1C1D on each side: testLifeCycleLogMode, testLifeCycleFileMode, testLifeCycleHybridMode, testReceiverAlreadyHaveTimeSeries, test1C1DWithRatisRatisIot, test1C1DWithSimpleSimpleIot, and test1C1DWithRatisRatisSimple.
  • A lightweight JDBC-proxy regression harness passed against the compiled helper: stable results are repeatedly queried for the full window, delayed changes fail on the first mismatching sample, immediate mismatches fail immediately, and JDBC resources close. The same harness reproduces the missing polling on the original origin/dev/1.3 helper.

The initial full Maven verification reached integration-test startup but encountered JVM native-memory allocation failures on this Windows host. The lifecycle tests' default 1C3D topology and protocol tests' 3C3D variants remain unverified locally. Full CI is still required.

  • Self-reviewed.

…18941)

Backport the five applicable tree-model lifecycle and protocol assertions, adapting the test paths to the 1.3 layout. Omit the table-model changes, which do not apply to this branch.

Restore the consistency helper polling loop using the existing master behavior. The 1.3 helper previously configured failFast without a terminal condition and never queried the receiver.

(cherry picked from commit c535723)
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