Skip to content

Make IoTDBTtlIT stable under slow CI - #19004

Merged
jt2594838 merged 2 commits into
apache:masterfrom
Caideyipi:fix/ttl-it-timing-master
Oct 26, 2026
Merged

jt2594838 merged 2 commits into
apache:masterfrom
Caideyipi:fix/ttl-it-timing-master

Conversation

@Caideyipi

Copy link
Copy Markdown
Collaborator

Recent timestamps were only milliseconds before a 10-second TTL, so slow cluster startup could expire them before assertions ran. Widen the TTL and timestamp windows to keep recent and expired data separated by minutes.

@Caideyipi

Copy link
Copy Markdown
Collaborator Author

Self-review passed after fixing one confirmed coverage regression in 815426b. Reviewed the complete diff and the related TTL write/read paths, cache updates, and test environment. No remaining actionable findings.

  • [P2] Keep the UNSET TTL probe outside the enlarged TTL — IoTDBTtlIT.java:121 increases TTL to 5000000, but the probe at line 156 was still only about 30 seconds old. An ineffective UNSET TTL could therefore pass the >= 200 assertion. Fixed the probe age to 8000000 ms. Also strengthened the existing wildcard-unset checks at lines 257 and 263 with 80000000 ms probes, outside their 50000000 ms TTL.
  • Removed the two fixed sleeps after UNSET TTL: successful execution already waits for the procedure to update all DataNode TTL caches. The enlarged live-data windows remain unchanged, with minimum headroom of about 66 minutes.

Verification for the fixed source:

  • PASS: mvn spotless:apply -P with-integration-tests -pl integration-test -o; integration-test main and test compilation with JDK 17.
  • PASS, remote: Apache IoTDB, Cluster1 settings (1 ConfigNode + 3 DataNodes), JUnit runner: IoTDBTtlIT, 1 test / 0 failures, 8.362 s including cluster lifecycle.
  • PASS, remote slow-execution simulation: a temporary copy of the same IT with its sampled now shifted back one hour, 1 test / 0 failures, 9.296 s. This validates one hour of additional timestamp aging without adding a real sleep or changing committed code.
  • PASS, GitHub CI: ZH-Locale-Compile and Dependency Check on the new head.
  • FAILED setup attempts: stale local extension artifacts, Windows commit-memory exhaustion, and initially missing repository JVM module-open flags in the remote launcher. These attempts did not reach TTL assertions; both corrected remote runs above passed. Further local tests were skipped as requested.
  • IN PROGRESS: new-head GitHub Cluster IT - 1C3D, alongside the other automatically triggered workflows. These are not counted as passes.
  • NOT RUN locally: clean full-reactor builds and the full IT suite. Sonar/Codecov is skipped by GitHub CI.

@jt2594838
jt2594838 merged commit b652ddd into apache:master Oct 26, 2026
38 of 39 checks passed
@jt2594838
jt2594838 deleted the fix/ttl-it-timing-master branch October 26, 2026 03:02
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.

2 participants