Skip to content

rptest: Model test revamp#30455

Merged
Lazin merged 2 commits into
redpanda-data:devfrom
Lazin:rptest/model-test-revamp
May 14, 2026
Merged

rptest: Model test revamp#30455
Lazin merged 2 commits into
redpanda-data:devfrom
Lazin:rptest/model-test-revamp

Conversation

@Lazin
Copy link
Copy Markdown
Contributor

@Lazin Lazin commented May 13, 2026

Revisit the model test.
Use storage.mode instead of read and write flags and collapse both segment.ms and compaction cluster/topic level inputs together. This reduces the size of the model.

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

Lazin added 2 commits May 13, 2026 10:14
`redpanda.storage.mode=tiered` atomically enables both archival (remote
write) and remote fetch (remote read) on a topic. Once it is non-unset
the legacy `redpanda.remote.{read,write}` and cluster-level
`cloud_storage_enable_remote_{read,write}` paths are bypassed entirely
(see `topic_properties::is_archival_enabled` / `is_remote_fetch_enabled`
in cluster/topic_properties.cc).

Collapse the four `Remote{Read,Write}{Topic,Cluster}Config` expressions
into a single `StorageModeTiered` input. The two `ts_{read,write}`
constraints that used to ORed over the four-way split now require this
single input. Also drop the find_all_solutions group whose only purpose
was to enumerate the topic-vs-cluster enablement combinations -- the
new property makes that distinction meaningless.

Signed-off-by: Evgeny Lazin <4lazin@gmail.com>
`TopicCompactionEnabled` and `EnableSegmentMs` each carried one or two
ClusterConfigInputs whose only purpose was to tune the test environment
so the corresponding topic-level property produces observable effects in
test duration:

  max_compacted_log_segment_size - cap compacted segments at 1 MB so
                                   compaction reupload fires.
  log_compaction_interval_ms     - speed up the housekeeping loop so
                                   segment.ms rolls land inside the
                                   test window.
  log_segment_ms_min             - lower the global floor on segment.ms
                                   so the topic's segment.ms is honored.

None of these are features under test; they're inert unless a topic
opts into compaction or segment.ms. Lift them into the cluster
bootstrap (extra_rp_conf in TieredStorageTest.__init__) so both inputs
are now purely topic-config (plus, for compaction, a producer hint that
makes the data compactable).

This is a step toward splitting inputs into topic-only and cluster-only
groups so a single ducktape run can drive multiple sub-cases over many
topics on the same cluster.

Signed-off-by: Evgeny Lazin <4lazin@gmail.com>
Copilot AI review requested due to automatic review settings May 13, 2026 14:42
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR revamps the tiered-storage model test inputs to reduce model size and simplify configuration by switching to the unified redpanda.storage.mode topic property (instead of separate remote read/write flags) and by moving previously per-case cluster tuning into the test’s cluster bootstrap configuration.

Changes:

  • Replace legacy topic/cluster remote read+write configuration inputs with a single StorageModeTiered topic-config input (redpanda.storage.mode=tiered) that gates both upload and remote fetch paths.
  • Remove per-test-case cluster config inputs for compaction/segment.ms tuning and apply them once via TieredStorageTest.extra_rp_conf during cluster startup.
  • Remove test-case generation that explicitly validated the legacy “topic vs cluster” remote-read/write enablement combinations.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
tests/rptest/tests/tiered_storage_model.py Collapses tiered-storage enablement to redpanda.storage.mode=tiered and removes legacy remote read/write input combinations and related constraints.
tests/rptest/tests/tiered_storage_model_test.py Moves compaction/segment.ms-related cluster tuning into startup extra_rp_conf so model inputs remain topic-scoped.

@Lazin Lazin requested a review from andrwng May 13, 2026 15:50
@vbotbuildovich
Copy link
Copy Markdown
Collaborator

CI test results

test results on build#84380
test_status test_class test_method test_arguments test_kind job_url passed reason test_history
FLAKY(PASS) ShadowLinkBasicTests test_link_creation_checks {"source_cluster_spec": {"cluster_type": "redpanda"}} integration https://buildkite.com/redpanda/redpanda/builds/84380#019e21d2-082e-43f2-a2ec-f577a8ca312f 10/11 Test PASSES after retries.No significant increase in flaky rate(baseline=0.0314, p0=1.0000, reject_threshold=0.0100. adj_baseline=0.1000, p1=0.3487, trust_threshold=0.5000) https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=ShadowLinkBasicTests&test_method=test_link_creation_checks
FLAKY(PASS) WriteCachingFailureInjectionE2ETest test_crash_all {"use_transactions": false} integration https://buildkite.com/redpanda/redpanda/builds/84380#019e21d1-1e06-4785-808b-e4d37fdce8df 8/11 Test PASSES after retries.No significant increase in flaky rate(baseline=0.0958, p0=0.2478, reject_threshold=0.0100. adj_baseline=0.2608, p1=0.4933, trust_threshold=0.5000) https://redpanda.metabaseapp.com/dashboard/87-tests?tab=142-dt-individual-test-history&test_class=WriteCachingFailureInjectionE2ETest&test_method=test_crash_all

Copy link
Copy Markdown
Member

@dotnwat dotnwat left a comment

Choose a reason for hiding this comment

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

lgtm

@Lazin Lazin merged commit c37bb1a into redpanda-data:dev May 14, 2026
24 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.

5 participants