Skip to content

test: add E2E and simulation tests for pk-index compaction - #26567

Draft
silver-ymz wants to merge 1 commit into
silver/pk-index-compaction-metafrom
silver/pk-index-compaction-tests
Draft

test: add E2E and simulation tests for pk-index compaction#26567
silver-ymz wants to merge 1 commit into
silver/pk-index-compaction-metafrom
silver/pk-index-compaction-tests

Conversation

@silver-ymz

@silver-ymz silver-ymz commented Aug 4, 2026

Copy link
Copy Markdown
Member

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.

What's changed and what's your intention?

Stack: PR 6 of 6 for iceberg pk-index compaction (← #26566)

Adds end-to-end SLT tests, simulation (madsim) failpoint tests, and integration test infrastructure for pk-index compaction.

E2E tests:

  • compaction_delete_then_reinsert.slt: verifies correct position delete compaction when records are deleted and reinserted
  • compaction_no_concurrent_delete.slt: verifies compaction correctness without concurrent deletes

Simulation tests:

  • Rename iceberg_v3_2pc test directory → iceberg_pk_index to reflect the feature under test
  • New failpoint tests: failpoint_limited_test_pk_index_compaction_* exercising the compaction lifecycle under controlled failure conditions
  • cluster.rs: add DedicatedIceberg compactor mode for simulation
  • main.rs: register --compactor-mode dedicated-iceberg
  • Mock catalog helpers and test utilities for compaction scenarios

Misc:

  • storage/compactor/src/lib.rs: add #[cfg(madsim)] export for simulated compaction result injection

Checklist

  • I have written necessary rustdoc comments.
  • I have added necessary unit tests and integration tests.
  • I have added test labels as necessary.
  • I have added fuzzing tests or opened an issue to track them.
  • My PR contains breaking changes.
  • My PR changes performance-critical code, so I will run (micro) benchmarks and present the results.
  • I have checked the Release Timeline and Currently Supported Versions to determine which release branches I need to cherry-pick this PR into.

E2E tests:
- compaction_delete_then_reinsert: verifies correct position delete
  compaction when records are deleted and reinserted
- compaction_no_concurrent_delete: verifies compaction correctness
  without concurrent deletes

Simulation tests:
- Rename iceberg_v3_2pc test directory to iceberg_pk_index
- Add compaction-related test utilities and mock catalog helpers
- Extend cluster config for pk-index compaction failpoint testing

Co-Authored-By: Claude <noreply@anthropic.com>

Copy link
Copy Markdown
Member Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-test Area: Testing framework & misc tests not belonging to any specific component. ci/run-e2e-iceberg-tests ci/run-integration-test-deterministic-simulation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant