Skip to content

Fixes #26451: return 400 for a base URL setting with no configValue - #32767

Open
Khairajani wants to merge 2 commits into
mainfrom
fix-26451-null-configvalue
Open

Fixes #26451: return 400 for a base URL setting with no configValue#32767
Khairajani wants to merge 2 commits into
mainfrom
fix-26451-null-configvalue

Conversation

@Khairajani

Copy link
Copy Markdown
Contributor

Follow-up to #32542.

configValue is optional in settings.json (only config_type is required) and JsonUtils.convertValue returns null for a null input, so PUT /v1/system/settings with {"config_type": "openMetadataBaseUrlConfiguration"} and no configValue dereferenced null — a 500 instead of the intended 400.

Guarded, and covered by a test that reproduces the NPE without the fix.

`configValue` is optional in settings.json (only `config_type` is
required) and `JsonUtils.convertValue` returns null for a null input, so
a base-URL setting posted without a `configValue` dereferenced null and
produced a 500 instead of the intended 400.
@Khairajani
Khairajani requested a review from a team as a code owner September 6, 2026 14:32
@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

❌ PR checklist incomplete

This PR cannot be merged until the following are addressed on its linked issue:

  • No GitHub issue is linked. Link an issue in the Development section of the PR (or add Fixes #12345 to the description). For a same-org cross-repo issue, add Fixes open-metadata/<repo>#123 to the description.

The fields live on the linked issue in the Shipping project (open the issue → right sidebar → Projects). After you set them, re-run this check (or push a commit) — issue/project changes do not re-trigger it automatically.

Maintainers can bypass this check by adding the skip-pr-checks label.

@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Hi there 👋 Thanks for your contribution!

The OpenMetadata team will review the PR shortly! Once it has been labeled as safe to test, the CI workflows
will start executing and we'll be able to make sure everything is working as expected.

Let us know if you need any help!

@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

✅ Playwright Results — workflow succeeded

Validated commit c6ec44db4ab0b59057f0c8ee26f38fed123de203 in Playwright run 34080737086, attempt 1.

✅ 557 passed · ❌ 0 failed · 🟡 0 flaky · ⏭️ 0 skipped · 🧰 0 lifecycle flaky

Performance

Blocking targets: ✅ met · Optimization targets: 🟡 in progress

Shard-job maxima below are not the full workflow wall time; the linked run includes build, fixture, planning, and reporting.

🕒 Full workflow signal wall (to summary) 54m 26s

⏱️ Max setup 5m 9s · max shard execution 18m 40s · max shard-job elapsed before upload 22m 15s · reporting 5s

🌐 235.58 requests/attempt · 2.82 app boots/UI scenario · 26.07% common-shard skew

Optimization targets still in progress:

  • Common shard skew was 26.07% (convergence target: at most 15%).
  • Browser traffic was 235.58 requests per attempt (convergence target: fewer than 200).
  • Application boot ratio was 2.82 per UI scenario (1630 boots / 578 scenarios; convergence target: at most 1).
Shard Passed Failed Flaky Skipped Lifecycle failed Lifecycle flaky
✅ Shard chromium-01 135 0 0 0 0 0
✅ Shard chromium-02 135 0 0 0 0 0
✅ Shard chromium-03 129 0 0 0 0 0
✅ Shard data-asset-rules-01 65 0 0 0 0 0
✅ Shard domain-isolation-01 16 0 0 0 0 0
✅ Shard global-state-01 34 0 0 0 0 0
✅ Shard ingestion-01 1 0 0 0 0 0
✅ Shard reindex-01 2 0 0 0 0 0
✅ Shard search-01 11 0 0 0 0 0
✅ Shard search-rbac-01 29 0 0 0 0 0

📦 Download artifacts

How to debug locally
# Download playwright-test-results-<shard> artifact and unzip
npx playwright show-trace path/to/trace.zip    # view trace

@gitar-bot

gitar-bot Bot commented Sep 7, 2026

Copy link
Copy Markdown
Code Review ✅ Approved

Adds a null check to prevent a 500 error when PUT /v1/system/settings receives a base URL configuration with no configValue, now correctly returning 400. Test added to cover the null dereference case.

Options

Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Compact
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Powered by Gitar — free for open source

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

safe to test Add this label to run secure Github workflows on PRs skip-pr-checks Bypass PR metadata validation check

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant