Skip to content

Fix "UpdateSchema Nothing to update" when a schema comment is set outside the bundle - #6343

Draft
denik wants to merge 3 commits into
mainfrom
denik/issue-6340
Draft

Fix "UpdateSchema Nothing to update" when a schema comment is set outside the bundle#6343
denik wants to merge 3 commits into
mainfrom
denik/issue-6340

Conversation

@denik

@denik denik commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

Changes

A schema declared without comment became undeployable on the direct engine as
soon as someone set a description on it in UC. The engine reads the remote
comment, plans an update, and every field of UpdateSchema is omitempty, so
the PATCH body came out empty. UC answers that with
400 INVALID_PARAMETER_VALUE / UpdateSchema Nothing to update instead of a
no-op, failing the whole deploy with no way out from the CLI.

Force-send comment so the payload always carries a field and the comment is
actually cleared, which is what the plan already said it wanted to do.

backend_defaults (the other option the issue suggests) is not right here:
a comment set in Catalog Explorer is real drift, not a value the backend filled
in, and suppressing it would silently stop the bundle from managing comment.
That treatment is correct for properties['unity.catalog.managed.*.defaults.*'],
which already carries such a rule, because UC cannot clear properties at all
— an empty or null map is itself rejected as "nothing to update". comment can
be cleared, so it should be.

Verified against a real workspace, before and after.

Tests

New acceptance test, local and cloud. The first commit adds it and makes the fake
workspace reject an empty UpdateSchema payload the way UC does, so the local run
fails exactly like the cloud one; the second commit turns both green.

Terraform does not plan an update for this drift at all, so it is unaffected
(it also never converges — the out-of-band comment just stays).

Fixes #6340

This pull request and its description were written by Isaac.

denik added 3 commits August 21, 2026 18:13
…he bundle

A schema without `comment` in the config becomes undeployable once someone sets
a description on it in UC: the engine reads the remote comment, plans an update,
and every field of the PATCH serializes away under omitempty. UC rejects the
empty body with `400 INVALID_PARAMETER_VALUE / UpdateSchema Nothing to update`,
which aborts the whole deploy.

Add an acceptance test for it and make the fake workspace reject an empty
UpdateSchema payload the way UC does, so the local run fails the same way the
cloud one does.

Co-authored-by: Isaac
…n empty PATCH

Every UpdateSchema field is omitempty, so a schema whose config declares no
comment produced an empty PATCH body once the comment was set out of band. UC
answers that with `400 / UpdateSchema Nothing to update` rather than a no-op,
which failed the whole deploy with no way out from the CLI.

Force-send comment so the payload always carries a field and clearing a comment
set outside the bundle actually happens.

Co-authored-by: Isaac
@eng-dev-ecosystem-bot

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: 216c5c3

Run: 32502660021

Env 💚​RECOVERED 🙈​SKIP ✅​pass 🙈​skip Time
💚​ aws linux 1 4 276 1164 5:43
💚​ aws windows 1 4 278 1162 3:36
💚​ azure linux 1 4 275 1164 5:28
💚​ azure windows 1 4 277 1162 3:43
💚​ gcp linux 1 4 276 1164 6:18
💚​ gcp windows 1 4 278 1162 3:52
Test Name aws linux aws windows azure linux azure windows gcp linux gcp windows
💚​ TestAccept 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
🙈​ TestAccept/bundle/invariant/no_drift 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_endpoints/drift/recreated_same_name 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/bundle/resources/vector_search_indexes/recreate/embedding_dimension 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
🙈​ TestAccept/ssh/connection 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S 🙈​S
Top 6 slowest tests (at least 2 minutes):
duration env testname
3:52 gcp linux TestAccept
3:50 azure linux TestAccept
3:49 aws linux TestAccept
3:21 gcp windows TestAccept
3:18 azure windows TestAccept
3:13 aws windows TestAccept

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

direct engine hard-fails with UpdateSchema Nothing to update when a schema comment is set outside the bundl

2 participants