Skip to content

ref(options): migrate storage routing + ConfigurableComponent config to sentry-options#8115

Open
phacops wants to merge 2 commits into
claude/options-migration-eap-rpcfrom
claude/options-migration-routing
Open

ref(options): migrate storage routing + ConfigurableComponent config to sentry-options#8115
phacops wants to merge 2 commits into
claude/options-migration-eap-rpcfrom
claude/options-migration-routing

Conversation

@phacops

@phacops phacops commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

What

Module slice of the runtime-config → sentry-options migration (splitting #8096). Migrates the storage-routing strategies and the ConfigurableComponent config system (allocation-policy / routing-strategy overrides) to read from sentry-options.

ConfigurableComponent.get_config_value now consults a single configurable_component_overrides dict option (string values coerced to the config's declared type), layered ahead of the legacy Redis runtime config and the code default — so behavior is unchanged until the option is populated in sentry-options-automator. Editing moves to the automator (not snuba-admin), consistent with the rest of this migration.

Stacked on #8114#8113. Review/merge the base PRs first; this PR's base is claude/options-migration-eap-rpc and will retarget down the stack as bases merge.

Keys migrated here

configurable_component_overrides, storage_routing.enable_get_cluster_loadinfo, enable_long_term_retention_downsampling, storage_routing_config_override, default_storage_routing_config, storage_routing_sampled_too_low_threshold, storage_routing_time_budget_ms, storage_routing_max_items_before_downsampling, storage_routing_min_timerange_to_query_outcomes.

(default_tier is read here too; its schema entry was declared in the base infra PR.)

Verification

ruff check + ruff format --check clean; mypy clean on all changed files; 23 test_configurable_component tests pass locally. The routing-strategy tests need ClickHouse (not in the sandbox) and are covered by CI.

🤖 Generated with Claude Code


Generated by Claude Code

…to sentry-options

Migrate the storage-routing strategies and the ConfigurableComponent config
system (allocation-policy / routing-strategy overrides) to read from
sentry-options.

ConfigurableComponent.get_config_value now consults a single
configurable_component_overrides dict option (string values coerced to the
config's declared type), layered ahead of the legacy Redis runtime config and
the code default — so behavior is unchanged until the option is populated in
sentry-options-automator. Editing happens via the automator, not snuba-admin.

Keys migrated in this PR:
  configurable_component_overrides, storage_routing.enable_get_cluster_loadinfo,
  enable_long_term_retention_downsampling, storage_routing_config_override,
  default_storage_routing_config, storage_routing_sampled_too_low_threshold,
  storage_routing_time_budget_ms, storage_routing_max_items_before_downsampling,
  storage_routing_min_timerange_to_query_outcomes
(default_tier is read here too; its schema entry was declared in the base infra PR.)

Stacked on the EAP/RPC migration PR.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
Claude-Session: https://claude.ai/code/session_01U2Cu68uGZRcCVS14jcyd3E
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.

2 participants