Skip to content

Consolidate pauseless server failure integration tests - #19193

Closed
xiangfu0 wants to merge 2 commits into
apache:masterfrom
xiangfu0:xiangfu0/codex/consolidate-pauseless-server-failures
Closed

Consolidate pauseless server failure integration tests#19193
xiangfu0 wants to merge 2 commits into
apache:masterfrom
xiangfu0:xiangfu0/codex/consolidate-pauseless-server-failures

Conversation

@xiangfu0

@xiangfu0 xiangfu0 commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Summary

  • run segment-commit and consuming-transition recovery scenarios in one shared fixture
  • preserve the standard one-server topology and the dedup two-server/two-replica topology
  • share one Kafka publication and fixed reference table per topology
  • isolate each fault with a unique table/schema and table-keyed immutable server config
  • force segment-level validation on every explicit recovery and delay the scheduled validator
  • remove the two redundant consuming-transition subclasses

Why

The four previous classes paid four complete ZooKeeper, Kafka, controller, broker, and server lifecycles. Their behavior only differs by fault mode and dedup topology.

In successful reference workflow run 31227570484, the four class times totaled 305.6s. The consolidated local run reports 122.6s across the two surviving classes, a directional 60% reduction. The draft CI run will provide the apples-to-apples hosted measurement.

This change leaves the existing two integration-test jobs unchanged and is independent of #19190 and #19192.

Correctness safeguards

  • non-dedup still requires exact ERROR counts of 10 and 2
  • dedup still uses two servers, two replicas, and requires injected errors
  • both scenarios retain the nonempty ERROR, no ERROR after recovery, no OFFLINE after recovery, and six-field DONE metadata comparisons
  • scenario cleanup waits for ExternalView and table-data-manager removal and preserves primary failures

Testing

  • PauselessRealtimeIngestionSegmentCommitFailureTest: 2 tests, 0 failures/errors/skips, 76.38s
  • PauselessDedupRealtimeIngestionSegmentCommitFailureTest: 2 tests, 0 failures/errors/skips, 46.18s
  • pinot-integration-tests test-compile
  • Spotless
  • Checkstyle
  • license format/check
  • git diff --check
  • independent correctness review: no findings

@codecov-commenter

codecov-commenter commented Aug 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 66.64%. Comparing base (baaf0a7) to head (e45ea5e).
⚠️ Report is 1 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master   #19193      +/-   ##
============================================
+ Coverage     66.62%   66.64%   +0.01%     
  Complexity     1423     1423              
============================================
  Files          3443     3443              
  Lines        218626   218632       +6     
  Branches      34792    34793       +1     
============================================
+ Hits         145662   145698      +36     
+ Misses        61240    61223      -17     
+ Partials      11724    11711      -13     
Flag Coverage Δ
custom-integration1 100.00% <ø> (ø)
integration 100.00% <ø> (ø)
integration1 100.00% <ø> (ø)
integration2 0.00% <ø> (ø)
java-25 66.64% <ø> (+0.01%) ⬆️
temurin 66.64% <ø> (+0.01%) ⬆️
unittests 66.63% <ø> (+0.01%) ⬆️
unittests1 57.22% <ø> (+0.02%) ⬆️
unittests2 38.90% <ø> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

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

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@xiangfu0

xiangfu0 commented Aug 8, 2026

Copy link
Copy Markdown
Contributor Author

Folded into #19190.

@xiangfu0 xiangfu0 closed this Aug 8, 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.

2 participants