Skip to content

rptest: add test_toggle_reconciliation#31059

Merged
WillemKauf merged 1 commit into
redpanda-data:devfrom
WillemKauf:cloud_Topics_toggle_reconciler
Jul 13, 2026
Merged

rptest: add test_toggle_reconciliation#31059
WillemKauf merged 1 commit into
redpanda-data:devfrom
WillemKauf:cloud_Topics_toggle_reconciler

Conversation

@WillemKauf

Copy link
Copy Markdown
Contributor

Adds a parameterized test for cloud topics and TSv2 which rapidly toggles the reconciler on and off while waiting for retention to be applied.

Asserts that after rounds of producing, waiting for retention to apply, and toggling the reconciler, that all data eventually makes it to L1 and it is consumable.

Backports Required

  • none - not a bug fix
  • none - this is a backport
  • none - issue does not exist in previous branches
  • none - papercut/not impactful enough to backport
  • v26.1.x
  • v25.3.x
  • v25.2.x

Release Notes

  • none

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new end-to-end rptest that stress-tests cloud-topics reconciliation/retention by repeatedly disabling/enabling the reconciliation loop while producing under aggressive size-based retention, then validating that the remaining log is consumable.

Changes:

  • Extend topic setup to pass through retention.bytes when configured on TopicSpec.
  • Enhance wait_until_reconciled to optionally wait for L1 reconciliation to reach a specific target offset (not just tail).
  • Add EndToEndCloudTopicsReconciliationToggleTest.test_toggle_reconciliation (parameterized over cloud + tiered cloud modes) to exercise rapid reconciliation toggling with retention enforcement.

Comment on lines +165 to +168
# Check the last observable record's offset against the next offset
# expected. For transactions, this could be much less than the HWM
# if there are aborts.
return (get_next_offset() - 1) == get_last_record()
Comment on lines +1135 to +1137
# Rate-limit the produce so it spans the whole toggle window: at
# 1 MiB/s this is ~160s of traffic, vs. a 75s toggle window.
self.msg_count = 40_000
Comment thread tests/rptest/tests/cloud_topics/e2e_test.py Outdated
Comment thread tests/rptest/tests/cloud_topics/e2e_test.py Outdated
Comment thread tests/rptest/tests/cloud_topics/e2e_test.py Outdated
Adds a parameterized test for cloud topics and TSv2 which rapidly
toggles the reconciler on and off while waiting for retention to
be applied.

Asserts that after rounds of producing, waiting for retention to apply,
and toggling the reconciler, that all data eventually makes it to
L1 and it is consumable.
@WillemKauf WillemKauf force-pushed the cloud_Topics_toggle_reconciler branch from 7721208 to 97efb1b Compare July 9, 2026 18:01

@wdberkeley wdberkeley left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feel like there might be a black swan race hiding in all the timing coordination but I think it'd be unlikely enough we can merge and see if it ever happens 🤷

@WillemKauf WillemKauf merged commit 2409270 into redpanda-data:dev Jul 13, 2026
17 checks passed
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.

3 participants