Skip to content

[Store] Converge remaining environment settings - #4256

Open
bitborne wants to merge 2 commits into
kvcache-ai:mainfrom
bitborne:codex/store-remaining-env-convergence
Open

bitborne wants to merge 2 commits into
kvcache-ai:mainfrom
bitborne:codex/store-remaining-env-convergence

Conversation

@bitborne

@bitborne bitborne commented Sep 21, 2026

Copy link
Copy Markdown
Contributor

Description

Complete the remaining eligible Mooncake Store environment-variable convergence tracked by #3809.

This PR introduces four component-owned configuration boundaries:

  • DfsEnablementConfig owns MOONCAKE_ENABLE_DFS and its legacy MOONCAKE_DFS_ENABLED alias.
  • MasterMetadataConfig owns the MC_METADATA_CLUSTER_ID metadata prefix.
  • StoreClusterIdentityConfig provides the single Store owner for MC_STORE_CLUSTER_ID.
  • NvmeKvExecutorConfig owns the NVMe KV alignment, block-unit, protocol-size, and read-plan batch settings.

The refactor preserves the existing environment names, defaults, alias precedence, diagnostics, parsing compatibility, and read lifecycle. The NVMe values intentionally retain their existing string parsing behavior, including supported base prefixes and fallback semantics.

This owner-scoped work supersedes the remaining Mooncake Store portion of the older cross-component approach in #1538. It does not duplicate the independently scoped work in #4170, #4171, #4203, #4204, or #4245. Remaining direct environment reads belong to external accelerator contracts, Master bootstrap/Kubernetes paths, or test/failpoint/stub-only controls.

Module

  • Transfer Engine (mooncake-transfer-engine)
  • Mooncake Store (mooncake-store)
  • Mooncake Conductor (mooncake-conductor)
  • Reshard (mooncake-reshard)
  • Mooncake EP (mooncake-ep)
  • Mooncake PG (mooncake-pg)
  • Integration (mooncake-integration)
  • P2P Store (mooncake-p2p-store)
  • Python Wheel (mooncake-wheel)
  • Common (mooncake-common)
  • Mooncake RL (mooncake-rl)
  • CI/CD
  • Docs
  • Other

Type of Change

  • Bug fix
  • New feature
  • Refactor
  • Breaking change
  • Documentation update
  • Performance improvement
  • Other

How Has This Been Tested?

Test commands:

cmake --build build --target dfs_enablement_config_test distributed_storage_config_test master_metadata_config_test nvme_kv_executor_config_test nvme_kv_storage_backend_test ha_cluster_namespace_config_test client_metric_config_test --parallel 256
ctest --test-dir build --output-on-failure -R '^(master_metadata_config_test|dfs_enablement_config_test|client_metric_config_test|client_metric_cluster_id_test|distributed_storage_config_test|nvme_kv_executor_config_test|ha_cluster_namespace_config_test|nvme_kv_storage_backend_test)$'
cmake --build build --target nvme_kv_executor_config_test nvme_kv_storage_backend_test --parallel 256
ctest --test-dir build --output-on-failure -R '^(nvme_kv_executor_config_test|nvme_kv_storage_backend_test)$'
./scripts/code_format.sh --check --changed-lines --base kvcache/main

Test results:

  • Unit tests pass
  • Integration tests pass (if applicable)
  • Manual testing done (describe below)

Touched-file pre-commit hooks also pass for the changed source and test files.

Checklist

  • I have performed a self-review of my own code
  • I have formatted my code using ./scripts/code_format.sh
  • I have run pre-commit on the files changed in this PR and all hooks pass
  • Documentation is not required because supported environment names and behavior are unchanged
  • I have added tests to prove my changes are effective
  • An RFC is not required because the non-test change is below the 500 LOC threshold

AI Assistance Disclosure

  • No AI tools were used
  • AI tools were used (specified below)

Codex assisted with the component-owned config extraction, unit tests, verification, and final review. The submitter reviewed the resulting changes and is responsible for them.

Signed-off-by: Schatten <czhengt@qq.com>
Signed-off-by: Schatten <czhengt@qq.com>

This branch has not been deployed

No deployments
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.

2 participants