Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

config: remove shard_local_cfg checks for tombstone_retention_ms validator #24987

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

WillemKauf
Copy link
Contributor

@WillemKauf WillemKauf commented Jan 30, 2025

These checks are invalid, as cluster config changes are applied one by one. A user could edit multiple properties at once to a valid state, and be caught by this attempted validation with an outdated value in the shard_local_cfg().

Multi-property validation of this cluster property is already handled in server.cc, see config_multi_property_validation().

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
  • v24.3.x
  • v24.2.x
  • v24.1.x

Release Notes

  • none

These checks are invalid, as cluster config changes are applied one by one.
A user could edit multiple properties at once to a valid state, and be
caught by this attempted validation with an outdated value in the
`shard_local_cfg()`.

Multi-property validation of this cluster property is already handled
in `server.cc`, see `config_multi_property_validation()`.
@vbotbuildovich
Copy link
Collaborator

CI test results

test results on build#61414
test_id test_kind job_url test_status passed
rptest.tests.archival_test.ArchivalTest.test_single_partition_leadership_transfer.cloud_storage_type=CloudStorageType.ABS ducktape https://buildkite.com/redpanda/redpanda/builds/61414#0194b992-9b26-4762-b032-4e862eca9ba8 FLAKY 1/2
rptest.tests.cloud_storage_scrubber_test.CloudStorageScrubberTest.test_scrubber.cloud_storage_type=CloudStorageType.S3 ducktape https://buildkite.com/redpanda/redpanda/builds/61414#0194b992-9b28-4291-bb07-73f670852ab3 FLAKY 1/2
rptest.tests.compaction_recovery_test.CompactionRecoveryTest.test_index_recovery ducktape https://buildkite.com/redpanda/redpanda/builds/61414#0194b997-9dd8-4dc1-b163-cb9e514b5f31 FLAKY 1/2
rptest.tests.compaction_recovery_test.CompactionRecoveryUpgradeTest.test_index_recovery_after_upgrade ducktape https://buildkite.com/redpanda/redpanda/builds/61414#0194b992-9b28-4291-bb07-73f670852ab3 FLAKY 1/2
rptest.tests.compaction_recovery_test.CompactionRecoveryUpgradeTest.test_index_recovery_after_upgrade ducktape https://buildkite.com/redpanda/redpanda/builds/61414#0194b997-9dd5-45ee-9f49-4b289523b707 FLAKY 1/2
rptest.tests.datalake.datalake_e2e_test.DatalakeE2ETests.test_topic_lifecycle.cloud_storage_type=CloudStorageType.S3.filesystem_catalog_mode=True ducktape https://buildkite.com/redpanda/redpanda/builds/61414#0194b992-9b27-47a3-a69f-a5de95dbec01 FLAKY 1/2

@WillemKauf WillemKauf requested a review from andrwng February 7, 2025 20:13
Copy link
Contributor

@andrwng andrwng left a comment

Choose a reason for hiding this comment

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

Makes sense. The only way to update a cluster config is through the admin endpoint, right? So we're guaranteed to hit config_multi_property_validation?

@dotnwat
Copy link
Member

dotnwat commented Feb 7, 2025

Makes sense. The only way to update a cluster config is through the admin endpoint, right? So we're guaranteed to hit config_multi_property_validation?

same question. i think so, but what about on cluster create? i was thinking that an initial configuration file could be loaded directly (ie --redpanda-cfg cli arg)

@WillemKauf
Copy link
Contributor Author

The only way to update a cluster config is through the admin endpoint, right? So we're guaranteed to hit config_multi_property_validation?

One could directly edit the config_cache.yaml file, and not hit config_multi_property_validation(). But this is advised against to begin with.

same question. i think so, but what about on cluster create?

Cluster properties should be ignored in the file specified by --redpanda-cfg if broker properties are also specified. But no, same response, we wouldn't hit config_multi_property_validation().

There are still some sanity checks for getting the value of tombstone_retention_ms from the ntp_config, so even in an unintended state we would be free from potential runtime issues, but perhaps there should be another call to config_multi_property_validation() during the bootstrap process to avoid the potential holes above.

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

Successfully merging this pull request may close these issues.

4 participants