Skip to content

feat(cfg): add safe configuration and storage API for MRD connection pool autoscaling#4739

Draft
PranjalC100 wants to merge 2 commits into
masterfrom
pr1-mrd-config-storage-api
Draft

feat(cfg): add safe configuration and storage API for MRD connection pool autoscaling#4739
PranjalC100 wants to merge 2 commits into
masterfrom
pr1-mrd-config-storage-api

Conversation

@PranjalC100
Copy link
Copy Markdown
Member

Description

This PR introduces the new configuration parameters, validation logic, and storage layer interface fields for the Multi-Range Downloader (MRD) connection pool autoscaling feature.

Specifically, it adds:

  • mrd.max-connections: The maximum number of concurrent TCP connections allowed.
  • mrd.min-connections: The minimum number of concurrent TCP connections allowed.
  • mrd.target-pending-bytes: The target threshold for pending bytes to trigger autoscaling.
  • mrd.target-pending-ranges: The target threshold for pending ranges to trigger autoscaling.

This PR is the first of a multi-part series splitting the overall connection pool autoscaling implementation. It is purely declarative and safe; because these fields are not yet wired up in the downloader wrapper or instance code, they have zero functional runtime impact on existing codepaths.

Link to the issue in case of a bug fix.

b/504489809

Testing details

  1. Manual - Verified clean compilation of the entire codebase (go build ./... and basic layout validation).
  2. Unit tests - Verified that all cfg package unit tests pass successfully, covering the new connection and autoscaling configuration boundaries and combinations.
  3. Integration tests - NA

Any backward incompatible change? If so, please explain.

N/A

@PranjalC100 PranjalC100 added execute-integration-tests Run only integration tests execute-integration-tests-on-zb To run E2E tests on zonal bucket. labels May 27, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented May 27, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.71%. Comparing base (a64ce4a) to head (a45d385).

Additional details and impacted files
@@             Coverage Diff             @@
##           master    #4739       +/-   ##
===========================================
+ Coverage        0   83.71%   +83.71%     
===========================================
  Files           0      168      +168     
  Lines           0    20752    +20752     
===========================================
+ Hits            0    17372    +17372     
- Misses          0     2734     +2734     
- Partials        0      646      +646     
Flag Coverage Δ
unittests 83.71% <100.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ 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.

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

Labels

execute-integration-tests Run only integration tests execute-integration-tests-on-zb To run E2E tests on zonal bucket.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant