Skip to content

fix(kvbm): remove the transfer batch size knob that nothing reads - #14011

Open
ayaangazali wants to merge 1 commit into
ai-dynamo:mainfrom
ayaangazali:fix/kvbm-dead-transfer-batch-knob
Open

fix(kvbm): remove the transfer batch size knob that nothing reads#14011
ayaangazali wants to merge 1 commit into
ai-dynamo:mainfrom
ayaangazali:fix/kvbm-dead-transfer-batch-knob

Conversation

@ayaangazali

@ayaangazali ayaangazali commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Summary

DYN_KVBM_TRANSFER_BATCH_SIZE is declared in environment_names.rs and documented in the KVBM configuration reference as "Maximum number of blocks per transfer batch". Nothing reads it. The only two references in the repository are the constant and the docs entry:

docs/fern/pages/reference/components/kvbm-configuration.mdx:53
lib/runtime/src/config/environment_names.rs:289

The knob that actually works is DYN_KVBM_MAX_TRANSFER_BATCH_SIZE, added by #7527 and read through offload.rs::max_transfer_batch_size.

This matters because of where the dead name sits. The reference lists the two adjacently with near-identical descriptions, "Maximum number of blocks per transfer batch" for the dead one and "Upper bound on the transfer batch size" for the live one, so the dead name is arguably the more natural one to reach for. Setting it changes nothing and warns about nothing.

Removed rather than wired up: the live knob already covers the behaviour, and inventing semantics for a second one would add a tuning surface nobody asked for.

While in the same three entries, the defaults are also wrong. offload.rs defaults DYN_KVBM_MAX_TRANSFER_BATCH_SIZE to 16 and DYN_KVBM_MAX_CONCURRENT_TRANSFERS to 4, and the reference lists both as unset.

Validation

Local, on macOS.

  • cargo build -p dynamo-runtime clean.
  • cargo test -p dynamo-runtime --lib config::environment_names is 2 passed, 0 failed, covering test_no_duplicate_env_var_names and test_naming_conventions.
  • cargo fmt --all -- --check clean, cargo clippy -p dynamo-runtime --lib clean.
  • pre-commit run --files <the two files> passes every hook that applies, including the Fern asset-path check. pytest-marker-report fails identically on an untouched README.md here because vLLM and TensorRT-LLM are not installed.

The removed module was unreferenced: grep -rn "kvbm::transfer\|transfer::DYN_KVBM" --include='*.rs' lib returns nothing, which is also what the clean build confirms.

I did not add a test. The removal is covered by the build, and the two corrected defaults are documentation values with the constants DEFAULT_MAX_TRANSFER_BATCH_SIZE = 16 and DEFAULT_MAX_CONCURRENT_TRANSFERS = 4 as their source of truth in offload.rs.

Summary by CodeRabbit

  • Configuration
    • Updated transfer-batch configuration to use DYN_KVBM_MAX_TRANSFER_BATCH_SIZE.
    • The default maximum batch size is now 16.
    • Removed the previous transfer-batch configuration option.

DYN_KVBM_TRANSFER_BATCH_SIZE is declared in environment_names.rs and
documented in the KVBM configuration reference as "Maximum number of
blocks per transfer batch", but no code anywhere reads it. The knob that
does work is DYN_KVBM_MAX_TRANSFER_BATCH_SIZE, added by ai-dynamo#7527 and read
through offload.rs::max_transfer_batch_size.

The two sit next to each other in the reference with near-identical
descriptions, so the dead one is the more natural name to reach for and
setting it does nothing and reports nothing.

Remove the constant and its documentation entry rather than wire it up,
since the working knob already covers the behaviour.

Also correct the defaults on the two neighbouring entries: the reference
lists both as "unset" when offload.rs defaults them to 16 and 4.

Signed-off-by: ayaangazali <ayaangazali.work@gmail.com>
@ayaangazali
ayaangazali requested review from a team as code owners August 29, 2026 19:30
Copilot AI lite review requested due to automatic review settings August 29, 2026 19:30
@copy-pr-bot

copy-pr-bot Bot commented Aug 29, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@ayaangazali
ayaangazali deployed to external_collaborator August 29, 2026 19:30 — with GitHub Actions Active
@ayaangazali
ayaangazali deployed to external_collaborator August 29, 2026 19:30 — with GitHub Actions Active

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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions

Copy link
Copy Markdown
Contributor

👋 Hi ayaangazali! Thank you for contributing to ai-dynamo/dynamo.

Just a reminder: The NVIDIA Test Github Validation CI runs an essential subset of the testing framework to quickly catch errors.Your PR reviewers may elect to test the changes comprehensively before approving your changes.

🚀

@github-actions github-actions Bot added external-contribution Pull request is from an external contributor fix documentation Improvements or additions to documentation labels Aug 29, 2026
@coderabbitai

coderabbitai Bot commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: dcc25bde-b735-4311-a511-8651f343904a

📥 Commits

Reviewing files that changed from the base of the PR and between 4c7e981 and 0e2951a.

📒 Files selected for processing (2)
  • docs/fern/pages/reference/components/kvbm-configuration.mdx
  • lib/runtime/src/config/environment_names.rs
💤 Files with no reviewable changes (1)
  • lib/runtime/src/config/environment_names.rs

Included review availability: Your plan provides up to 12 included reviews per hour; 11 remain after this review.


Walkthrough

The KVBM transfer-batch documentation now defines a maximum batch size of 16. The runtime environment declarations remove the previous transfer configuration module and environment constant.

Changes

KVBM transfer-batch configuration

Layer / File(s) Summary
Transfer-batch configuration contract
docs/fern/pages/reference/components/kvbm-configuration.mdx, lib/runtime/src/config/environment_names.rs
The documentation removes DYN_KVBM_TRANSFER_BATCH_SIZE, sets DYN_KVBM_MAX_TRANSFER_BATCH_SIZE to a default of 16, and describes the maximum blocks per transfer batch. The runtime removes the KVBM transfer configuration module and environment constant.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Merge Risk: ⚪ Minimal · up to 0e295

This localized change removes an unused KVBM configuration entry and aligns documented defaults with the existing behavior; no actionable merge-blocking risk remains after normal checks and review.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description explains the change, rationale, affected identifiers, corrected defaults, and validation results. It does not follow the required template because it omits the required Related Issues … Add the required Related Issues section and select either the linked-issue option with a real issue number or the confirmed no-related-issue checkbox. Add a Where should the reviewer start? section that names the key files to review.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main change: removal of the unused KVBM transfer batch size configuration knob.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Description check

Explanation

The description explains the change, rationale, affected identifiers, corrected defaults, and validation results. It does not follow the required template because it omits the required Related Issues section and does not identify where the reviewer should start.

Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

  • Fix all pre-merge checks with AI

Comment @coderabbitai help to get the list of available commands.

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

Labels

documentation Improvements or additions to documentation external-contribution Pull request is from an external contributor fix size/S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants