GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — [connectors,types,manager] Keep connector credentials out of diagnostics by bestouff · Pull Request #7786 · feldera/feldera

[connectors,types,manager] Keep connector credentials out of diagnostics #7786

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Sign up for GitHub

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
bestouff wants to merge 10 commits into main from cloud-2136-diagnostics

Uh oh!

There was an error while loading. Please reload this page.

Open

[connectors,types,manager] Keep connector credentials out of diagnostics #7786

Changes from 1 commit
Commits
Show all changes
10 commits
Select commit Hold shift + click to select a range
79e5796
[types] Add helpers for safe configuration diagnostics
bestouff Oct 30, 2026
6634416
[connectors] Keep the Postgres URI out of the input's diagnostics
bestouff Oct 29, 2026
da0d358
[types] Keep connector options and credentials out of the startup log
bestouff Oct 29, 2026
75a976c
[pipeline-manager] Keep credentials out of connector compile errors
bestouff Oct 29, 2026
f1aa017
[connectors] Show Delta table URIs without userinfo and query string
bestouff Oct 29, 2026
1e6856f
[connectors] Report a rejected Kafka option without its value
bestouff Oct 29, 2026
50258b0
[adapterlib] Keep credentials out of format parse errors
bestouff Oct 29, 2026
cabd055
[connectors] Stop printing whole connector configs at debug level
bestouff Oct 29, 2026
5a0c51d
[connectors] Keep rejected values out of the pipeline config parse error
bestouff Nov 3, 2026
469134e
[sql-to-dbsp] Keep the rejected JSON token out of connector errors
bestouff Nov 12, 2026
File filter
Filter by extension

Clear filters
Conversations
Failed to load comments.
Loading

Uh oh!

There was an error while loading. Please reload this page.

Jump to
Jump to file
Failed to load files.
Loading

Uh oh!

There was an error while loading. Please reload this page.

Diff view
Diff view
Prev Previous commit
Next Next commit
[connectors] Keep rejected values out of the pipeline config parse error
The pipeline reports a configuration file that does not deserialize with
serde's message, which quotes the rejected token. A credential in a
wrong-shaped field, such as a NATS `credentials` given as a plain string,
is rejected here before any redaction can run, so the value reached the
startup error and `deployment_error`.

Keep the error category, the expected values and the line and column,
and drop the token, with the helper the other configuration errors use.

Related: feldera/cloud#2136
Signed-off-by: Xavier Bestel <[email protected]>
  • Loading branch information

Uh oh!

There was an error while loading. Please reload this page.

@bestouff
bestouff committed Nov 12, 2026
commit 5a0c51d9cb7888aa9e1fd62751a353de0f922a32

There are no files selected for viewing

24 changes: 22 additions & 2 deletions 24 crates/connectors/src/server.rs
Show comments
View file
Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -1389,10 +1389,15 @@ fn parse_config_with_deferred_logging(

let path = config_file.as_ref();
let string = read_config_file_as_string(path, deferred_logging)?;
// The rejected token can be a credential: keep the category and the
// position, not the value.
let mut config: PipelineConfig = serde_json::from_str(&string).map_err(|e| {
ControllerError::pipeline_config_parse_error(&format!(
"configuration file '{}' must be JSON (YAML is no longer read): {e}",
path.display()
"configuration file '{}' must be JSON (YAML is no longer read): {} (line {}, column {})",
Comment thread

@mihaibudiu mihaibudiu Nov 6, 2026

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do we even need to mention yaml?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@bestouff bestouff Nov 12, 2026

Copy link
Copy Markdown
Contributor Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That text is already on main. This PR only adds the line and column.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
path.display(),
feldera_types::config_diagnostics::deserialization_error(&e),
e.line(),
e.column()
))
})?;

Expand Down Expand Up @@ -5641,6 +5646,21 @@ mod test_status {
assert_eq!(config.name.as_deref(), Some("test"));
}

/// A credential in a wrong-shaped field is rejected before any
/// registration can run: the parse error must not quote it.
#[test]
fn parse_config_keeps_rejected_values_out_of_the_error() {
let file = json_config_file(&json!({"name":"test", "inputs":{"n":{"stream":"s",
"transport":{"name":"nats_input", "config":{
"connection_config":{"server_url":"nats://h", "auth":{"credentials":"creds-text-2136"}},
"stream_name":"s", "consumer_config":{"deliver_policy":"All"}}},
"format":{"name":"json", "config":{}}}}}));
let error = parse_config(file.path()).unwrap_err().to_string();
assert!(!error.contains("creds-text-2136"), "{error}");
assert!(error.contains("must be JSON"), "{error}");
assert!(error.contains("line "), "{error}");
}

/// A `Write` that tests can read back after a subscriber writes to it.
#[derive(Clone, Default)]
struct SharedBuffer(Arc<Mutex<Vec<u8>>>);
Expand Down
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.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.