Fix/issue 26775 yaml parse error#27018
Conversation
… types (json, array, geo)
|
Hi there 👋 Thanks for your contribution! The OpenMetadata team will review the PR shortly! Once it has been labeled as Let us know if you need any help! |
|
Ok I will take it up
…On Fri, Apr 3, 2026 at 4:30 PM Sriharsha Chintalapani < ***@***.***> wrote:
*harshach* left a comment (open-metadata/OpenMetadata#27018)
<#27018?email_source=notifications&email_token=AY72FRHQU7UDQ46SZR5HWQ34T7KJNA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTIMJYGM4TKMZVGE2KM4TFMFZW63VHNVSW45DJN5XKKZLWMVXHJNLQOJPWG33NNVSW45C7N5YGK3S7MNWGSY3L#issuecomment-4183953514>
@Esvanth <https://github.com/Esvanth> the right way of fixing is this PR
#26205 <#26205> if you
want to take that PR up and add mroe testing and. manual testing , please
do. We can merge that PR in
—
Reply to this email directly, view it on GitHub
<#27018?email_source=notifications&email_token=AY72FRHQU7UDQ46SZR5HWQ34T7KJNA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTIMJYGM4TKMZVGE2KM4TFMFZW63VHNVSW45DJN5XKKZLWMVXHJNLQOJPWG33NNVSW45C7N5YGK3S7MNWGSY3L#issuecomment-4183953514>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AY72FRCTSPG5XST6G6G37JD4T7KJNAVCNFSM6AAAAACXLUUJYOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DCOBTHE2TGNJRGQ>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
…sion for complex types
|
Hi there 👋 Thanks for your contribution! The OpenMetadata team will review the PR shortly! Once it has been labeled as Let us know if you need any help! |
| static boolean isInlineSubstitution(TextStringBuilder buf, int startPos, int endPos) { | ||
| if (startPos > 0) { | ||
| char before = buf.charAt(startPos - 1); | ||
| if (before != ' ' && before != '\t' && before != '\n' && before != '\r') { | ||
| return true; | ||
| } | ||
| } | ||
| if (endPos < buf.length()) { | ||
| char after = buf.charAt(endPos); | ||
| if (after != ' ' && after != '\t' && after != '\n' && after != '\r') { | ||
| return true; | ||
| } | ||
| } | ||
| return false; | ||
| } |
There was a problem hiding this comment.
💡 Edge Case: isInlineSubstitution only checks immediate neighbors
The isInlineSubstitution check looks at the single character before startPos and after endPos. If the YAML value line is key: ${VAR}, the character before startPos is a space (from key: ), so isInlineSubstitution returns false and the value gets quoted. This is the correct behavior.
However, for patterns like key:${VAR} (no space after colon), the character before startPos is :, so it returns true and quoting is skipped — even though the variable is the entire value semantically. This edge case is unlikely in practice (Dropwizard YAML configs always have key: value format), but worth documenting.
Was this helpful? React with 👍 / 👎 | Reply gitar fix to apply this suggestion
|
Hi there 👋 Thanks for your contribution! The OpenMetadata team will review the PR shortly! Once it has been labeled as Let us know if you need any help! |
Code Review 👍 Approved with suggestions 4 resolved / 5 findingsFixes YAML parsing errors in configuration and Docker compose by handling reserved words and guarding metrics against complex types. One minor suggestion: the isInlineSubstitution check could be more robust by examining broader context beyond immediate neighbors. 💡 Edge Case: isInlineSubstitution only checks immediate neighbors📄 openmetadata-service/src/main/java/org/openmetadata/service/util/YamlSafeSubstitutor.java:62-76 The However, for patterns like ✅ 4 resolved✅ Bug: NOT_COMPUTE reduction without updating core.py filter lets complex types through
✅ Bug: Docker OIDC_CUSTOM_PARAMS hardcoded, removing env var override
✅ Bug: Test has wrong expected value for yamlDoubleQuote(">value")
✅ Edge Case: needsYamlQuoting misses YAML boolean/null reserved words
🤖 Prompt for agentsOptionsDisplay: compact → Showing less information. Comment with these commands to change:
Was this helpful? React with 👍 / 👎 | Gitar |
|
@harshach can you please say ellaboratrtely the change where i should make it and also please make it safe to check label so it can bypass checks respectively. |
This PR addresses critical configuration issues and UI translation errors found in the OpenMetadata deployment and signup flows:
Docker YAML Parsing Fix (#26775): Replaced fragile environment variable interpolation (e.g., ${OIDC_CUSTOM_PARAMS:-{}}) with literal strings "{}" in 8 Docker Compose files. This ensures cross-platform compatibility for container runtimes like Podman that struggle with nested curly braces in YAML.
French Signup Translation Fix (#25711): Introduced specific translation keys label.first-name and label.last-name. Updated the BasicSignup component to use these keys, resolving the incorrect "Nom de Premier" phrasing in French and replacing it with the correct "Prénom".
Release Announcement Refinement (#26859): Updated the "What's New" announcement text to "What's new in this release" to prevent confusion during fresh deployments.
Testing performed:
Verified YAML syntax integrity.
Manually checked the updated i18n keys in the localization files.
Updated and ran WhatsNewAlert.test.tsx to confirm the announcement text change.
Type of change:
Bug fix
Improvement
New feature
Breaking change (fix or feature that would cause existing functionality to not work as expected)
Documentation
Checklist:
I have read the CONTRIBUTING document.
My PR title is Fixes #26775, #25711, #26859: Resolve Docker YAML parsing and French translation errors
I have commented on my code, particularly in hard-to-understand areas.