Repository navigation
fix(ingestion): encode the pipeline FQN in log URLs - #37262
Conversation
✅ PR checks passedThe linked issue has a description and all required Shipping project fields set. Thanks! |
Code Review ✅ Approved🟡 Medium risk · Encoding pipeline FQNs across log endpoints changes request routing; incompatible decoding could cause log delivery or retrieval to fail. Encodes the pipeline FQN with the existing VerificationRules No rules evaluated Functional validation Not enabledAuto-approval Not enabledFor more verification details, comment OptionsDisplay: compact → Showing compact verification results. Comment with these commands to change the behavior for this request:
Was this helpful? React with 👍 / 👎 | Powered by Gitar — free for open source |
|



Fixes #37265
Problem
Agents send their logs to
/services/ingestionPipelines/logs/{fqn}/{runId}, and the SDK put the pipeline's fully qualified name into that URL as it was. A service or agent name may contain/, for exampleSnowflake : Product/Eng NA. That slash adds an extra path segment, so no route matches and the server answers 404.Sending logs is best effort, so nothing reports the failure. The run finishes as a success and its logs are lost.
A
?or#in a name breaks the same way, because each one ends the URL path early.What this PR changes
Every log call in the SDK now encodes the name with the existing
quotehelper, the same one the SDK already uses for entity lookups by name. The/is sent as%2F, and the server decodes it back to the real name.Names with only letters, digits, dots and underscores produce the same URL as before.
What users will notice
Agents on a service whose name contains
/now ship their logs, so the log viewer has something to show.How it was tested
/,?,#,%, quotes and spaces. They fail without this change.OpenMetadataclient andStreamableLogHandler, in the same startup order as a workflow, on a real service namedlogslash : Product/Eng NA:Not in this PR
Agents already deployed keep the old behaviour until they run an SDK with this change.