Repository navigation
Conversation
…Lab#277) NODEDB_DATA_PLANE_CORES / NODEDB_MAX_CONNECTIONS with non-integer values logged a warning and booted with the compiled default — a typo in orchestration silently ran the server at the wrong sizing. apply_numeric_settings and apply_env_overrides now return Result; parse failures produce a Config error naming the variable and value, and main.rs propagates it (startup halt, non-zero exit). Zero is also rejected for core/connection counts. NODEDB_LOG_FORMAT keeps its string-typed warning path (non-numeric, out of scope). Serializes env tests behind a shared lock: parallel threads raced on std::env state once failures could surface as Err. Regression: c3_malformed_env_errors_instead_of_silent_default, c3_valid_env_still_overrides, c3_zero_value_rejected. Config suite: 59 passed.
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
NODEDB_DATA_PLANE_CORES=abc(or any non-integer) logged a warning and booted with the compiled default core count — issue #277. A typo in an orchestration substitution silently ran the server at the wrong sizing.Fix
apply_numeric_settings/apply_env_overridesnow returnResult.Configerror naming the variable and value;main.rspropagates it → startup halt, non-zero exit.NODEDB_LOG_FORMATkeeps its string-typed warning path (non-numeric, out of scope).std::envstate once failures could surface asErr.How to test
Manual:
NODEDB_DATA_PLANE_CORES=abc nodedb -c nodedb.toml→ startup errorinvalid value 'abc' for NODEDB_DATA_PLANE_CORES: expected positive integer, exit non-zero (was: boots with default 5 + warning).Regression
cargo test -p nodedb --lib config::server: 59 passed (env suite, host_ports, wal, checkpoint, timeseries, cluster)Fixes #277.