DX-119909: support runtime reload of mutable MCP settings#111
Merged
aniket-s-kulkarni merged 12 commits intoMay 19, 2026
Merged
Conversation
afc9cee to
0088c8c
Compare
ssaumitra
reviewed
May 18, 2026
ssaumitra
reviewed
May 18, 2026
ssaumitra
reviewed
May 18, 2026
ssaumitra
reviewed
May 18, 2026
ssaumitra
reviewed
May 18, 2026
ssaumitra
reviewed
May 18, 2026
Contributor
ssaumitra
left a comment
There was a problem hiding this comment.
🔴 Verdict: Issues found — 2 must fix, 3 should fix
Inspect first:
src/dremioai/config/settings.py— central reload semantics and restart-required boundary.src/dremioai/servers/mcp.py— applies hot-reloaded log level and logger scope.tests/config/test_settings.py— coverage for startup-only fields and concurrent overrides.
Change walkthrough (19 files)
| File | Change |
|---|---|
src/dremioai/api/dremio/sql.py |
Reads polling interval through .get(...). |
src/dremioai/api/transport.py |
Reads retry config through .get(...). |
src/dremioai/config/settings.py |
Adds runtime mutability metadata, process-wide base settings, and reload logic. |
src/dremioai/log.py |
Adds scoped logger level support. |
src/dremioai/servers/mcp.py |
Refresh loop reloads settings and updates log levels. |
src/dremioai/tools/tools.py |
Uses LD-aware flag reads and handles missing Dremio config. |
tests/api/dremio/test_sql.py |
Updates polling interval tests. |
tests/api/test_transport_retry.py |
Updates retry config tests. |
tests/config/test_launchdarkly_integration.py |
Adds LD/reload integration coverage. |
tests/config/test_settings.py |
Adds settings reload and override tests. |
tests/conftest.py |
Resets settings state between tests. |
tests/servers/test_jwks_verifier.py |
Adds explicit settings setup. |
tests/servers/test_mcp.py |
Updates settings test helper. |
tests/stremable_http_cli.py |
Updates local server settings propagation. |
tests/test_fastmcp_basic.py |
Updates settings test helper. |
tests/test_log.py |
Adds scoped logging coverage. |
tests/test_simple_fastmcp_server.py |
Updates settings test helper and formatting. |
tests/tools/test_output_validation.py |
Uses scoped settings override helper. |
tests/tools/test_tools.py |
Updates settings helper and formatting. |
🔴 Must fix:
- [Correctness/Architecture] Runtime reload materializes restart-required nested models (
src/dremioai/config/settings.py:645). - [Architecture]
loggersis hot-reloadable but not in the approved mutable scope (src/dremioai/config/settings.py:435).
🟡 Should fix:
- [Tests] Validation-failure coverage only tests malformed YAML (
tests/config/test_launchdarkly_integration.py:672). - [Tests] No regression covers
tools.server_modestaying startup-only after reload (tests/config/test_settings.py:201). - [Tests] Request override isolation is only tested sequentially (
tests/config/test_settings.py:94).
Verification: uv run pytest tests/config/test_settings.py tests/config/test_launchdarkly_integration.py -q passed locally: 124 passed, 5 warnings.
Generated by AI-assisted analysis
Contributor
Author
📬 Review comments addressed — 2026-05-18
|
ssaumitra
approved these changes
May 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.get(...)log_levelTest Plan
uv run pytest tests/config/test_settings.py tests/config/test_launchdarkly_integration.py tests/api/test_transport_retry.py tests/api/dremio/test_sql.py tests/servers/test_mcp.py tests/test_fastmcp_basic.py tests/test_simple_fastmcp_server.py tests/tools/test_tools.py tests/tools/test_output_validation.py -qJira
Reviewer Verdict