Skip to content

Document scalability limits and constraints#5025

Merged
yrobla merged 1 commit intomainfrom
issue-4975
Apr 23, 2026
Merged

Document scalability limits and constraints#5025
yrobla merged 1 commit intomainfrom
issue-4975

Conversation

@yrobla
Copy link
Copy Markdown
Contributor

@yrobla yrobla commented Apr 23, 2026

Summary

Add docs/arch/13-vmcp-scalability.md covering all known vMCP capacity limits surfaced in the code: per-pod session cache cap (1,000 sessions, LRU eviction), session TTL behaviour (30 min vMCP / 2 h proxy, sliding window in Redis via GETEX), session GC triggers, file descriptor constraints, Redis sizing and timeout defaults, stateful backend data loss on pod restart, and a hardcoded-limits reference table with source file pointers.

Fixes #4975

Type of change

  • Bug fix
  • New feature
  • Refactoring (no behavior change)
  • Dependency update
  • Documentation
  • Other (describe):

Test plan

  • Unit tests (task test)
  • E2E tests (task test-e2e)
  • Linting (task lint-fix)
  • Manual testing (describe below)

API Compatibility

  • This PR does not break the v1beta1 API, OR the api-break-allowed label is applied and the migration guidance is described above.

Changes

File Change

Does this introduce a user-facing change?

Implementation plan

Approved implementation plan

Special notes for reviewers

@github-actions github-actions Bot added the size/S Small PR: 100-299 lines changed label Apr 23, 2026
@yrobla yrobla requested a review from Copilot April 23, 2026 09:03
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

Adds operator-facing architecture documentation describing vMCP scalability limits, hardcoded constraints, and operational considerations, and links it from the existing architecture docs index.

Changes:

  • Added a new architecture doc detailing vMCP limits (per-pod cache cap, TTL behavior, Redis considerations, FD constraints, restart implications).
  • Updated docs/arch/README.md index to include the new scalability doc.
  • Linked the new doc from the “Related Documentation” section in the vMCP architecture doc.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 6 comments.

File Description
docs/arch/README.md Adds the new scalability document to the architecture documentation index.
docs/arch/13-vmcp-scalability.md Introduces detailed scalability/constraints documentation for vMCP deployments.
docs/arch/10-virtual-mcp-architecture.md Adds a cross-link to the new scalability/constraints document.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/arch/13-vmcp-scalability.md Outdated
Comment thread docs/arch/13-vmcp-scalability.md Outdated
Comment thread docs/arch/13-vmcp-scalability.md
Comment thread docs/arch/13-vmcp-scalability.md Outdated
Comment thread docs/arch/13-vmcp-scalability.md Outdated
Comment thread docs/arch/13-vmcp-scalability.md Outdated
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 23, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 69.09%. Comparing base (72ef835) to head (bcc6b97).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #5025      +/-   ##
==========================================
+ Coverage   69.07%   69.09%   +0.01%     
==========================================
  Files         555      555              
  Lines       73288    73288              
==========================================
+ Hits        50626    50639      +13     
+ Misses      19644    19631      -13     
  Partials     3018     3018              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Add docs/arch/13-vmcp-scalability.md covering all known vMCP capacity
limits surfaced in the code: per-pod session cache cap (1,000 sessions,
LRU eviction), session TTL behaviour (30 min vMCP / 2 h proxy, sliding
window in Redis via GETEX), session GC triggers, file descriptor
constraints, Redis sizing and timeout defaults, stateful backend data
loss on pod restart, and a hardcoded-limits reference table with source
file pointers.

Closes #4975
@github-actions github-actions Bot added size/S Small PR: 100-299 lines changed and removed size/S Small PR: 100-299 lines changed labels Apr 23, 2026
@yrobla yrobla merged commit 037a0e8 into main Apr 23, 2026
40 checks passed
@yrobla yrobla deleted the issue-4975 branch April 23, 2026 10:09
github-actions Bot added a commit to stacklok/docs-website that referenced this pull request Apr 23, 2026
Add a Capacity limits section to the vMCP scaling guide covering the
per-pod 1,000-session LRU cache, 30-minute inactivity TTL with Redis
sliding-window refresh, file-descriptor planning, Redis sizing and
default timeouts, and stateful-backend data loss on pod restart.
Derived from upstream PR stacklok/toolhive#5025 and verified against
source at the v0.24.1 tag.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
rdimitrov pushed a commit to stacklok/docs-website that referenced this pull request Apr 23, 2026
* Update stacklok/toolhive to v0.24.1

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Refresh reference assets for toolhive v0.24.1

* Document vMCP capacity limits for v0.24.1

Add a Capacity limits section to the vMCP scaling guide covering the
per-pod 1,000-session LRU cache, 30-minute inactivity TTL with Redis
sliding-window refresh, file-descriptor planning, Redis sizing and
default timeouts, and stateful-backend data loss on pod restart.
Derived from upstream PR stacklok/toolhive#5025 and verified against
source at the v0.24.1 tag.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* Editorial fixes to vMCP capacity limits section

- Remove inaccurate claim that Redis client timeouts are tunable via
  sessionStorage CRD fields; the CRD does not expose them.
- Rephrase two mid-sentence spaced hyphens per the project style guide.
- Expand TTL acronym on first use.
- Flip one passive-voice sentence to active voice.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/S Small PR: 100-299 lines changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document vMCP scalability limits and constraints

4 participants