goutamadwant opened a new pull request, #12188: URL: https://github.com/apache/seatunnel/pull/12188
### Purpose of this pull request Related to #12060. This is the independent benchmark-fixture correction requested in the issue. It excludes the readiness/framework changes in #12135. Previously, teardown reloaded three sampled DAGs through full-WAL scans after every store batch. As writes and deletion records accumulated, this untimed verification performed progressively more work and affected later measurements. - Check three cached values during warmup and intermediate measurement teardown. - Evict and reload those samples after the final measurement in each fork, before deleting the batch. - Preserve the 100 synchronous writes, unique keys, history TTL, deletion behavior and load benchmark. - Add lifecycle and real-storage regression tests, including full-batch persistence checks. - Update English and Chinese benchmark documentation. Normal WAL history still grows. Terminal read-back verifies persisted contents, not crash durability. No production storage code changes, and this PR does not claim to resolve all variance in #12060. ### Does this PR introduce _any_ user-facing change? Yes, for benchmark users and documentation only. Persistence read-back now runs after the final measured batch instead of between every batch. Documentation recommends `-foe true` so verification failures reject the run. SeaTunnel runtime behavior and configuration are unchanged. Old and corrected fixture scores must not be interpreted as a production speedup. ### How was this patch tested? - All 51 benchmark-module tests passed on Java 8 and Java 11. - Both native Linux confirmations passed baseline/candidate 42-module builds. Other reactor modules were compiled and packaged; their full test suites were not executed. - All 24 packaged smoke combinations passed: both JDKs, store/load methods and all six parameter combinations. - Restoring the original replay behavior caused 10 lifecycle tests to fail. The corrected fixture passed; an injected terminal read-back failure caused JMH to reject the run. - Separate diagnostics recorded replay counts changing from `3,3,3,3,3,3,3,3` to `0,0,0,0,0,0,0,3` across three warmups and five measurements. - Native Linux comparisons passed on [Java 11](https://github.com/goutamadwant/seatunnel/actions/runs/34151236677) and [Java 8](https://github.com/goutamadwant/seatunnel/actions/runs/34151242011): 36 fresh JVMs, 180 measured batches and 18,000 writes, with no detected swapping or discarded samples. Original settings were retained: 3 forks, 3 warmups, 5 measurements and 100 writes per batch. - Corrected repeat-block means were 246.470 / 220.904 us/DAG for Java 11 at 1 pipeline / 100 retained DAGs, 864.936 / 657.565 at 100 / 0, and 398.469 / 404.007 for Java 8 at 1 / 100. Variability remains; neither mean nor dispersion consistently improves. - Raw samples, logs, commands and artifact hashes are attached to the linked runs. The runner is fork-only, not part of this PR. Initial attempts stopped before sampling because the collector rejected commit-specific version metadata; provenance validation was corrected separately without changing benchmark source or measurement settings. - Earlier local comparisons are retained separately because host paging limits their timing conclusions. ### Check list * [ ] If any new Jar binary package adding in your PR, please add License Notice according [New License Guide](https://github.com/apache/seatunnel/blob/dev/docs/en/developer/new-license.md) * [x] If necessary, please update the documentation to describe the new feature. https://github.com/apache/seatunnel/tree/dev/docs * [ ] If necessary, please update `incompatible-changes.md` to describe the incompatibility caused by this PR. * [ ] If you are contributing the connector code, please check that the following files are updated: 1. Update [plugin-mapping.properties](https://github.com/apache/seatunnel/blob/dev/plugin-mapping.properties) and add new connector information in it 2. Update the pom file of [seatunnel-dist](https://github.com/apache/seatunnel/blob/dev/seatunnel-dist/pom.xml) 3. Add ci label in [label-scope-conf](https://github.com/apache/seatunnel/blob/dev/.github/workflows/labeler/label-scope-conf.yml) 4. Add e2e testcase in [seatunnel-e2e](https://github.com/apache/seatunnel/tree/dev/seatunnel-e2e/seatunnel-connector-v2-e2e/) 5. Update connector [plugin_config](https://github.com/apache/seatunnel/blob/dev/config/plugin_config) Unchecked items are not applicable: no new dependencies, runtime incompatibilities or connector changes. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
