Skip to content

acceptance: always distinguish UUIDs in test output - #7021

Merged
janniklasrose merged 5 commits into
mainfrom
janniklasrose/acc/uuid-unique-on-by-default
Nov 10, 2026
Merged

janniklasrose merged 5 commits into
mainfrom
janniklasrose/acc/uuid-unique-on-by-default

Conversation

@janniklasrose

@janniklasrose janniklasrose commented Oct 12, 2026 •

Copy link
Copy Markdown
Member

Changes

Remove the temporary UniqueUUID option and always distinguish UUIDs, updating acceptance goldens with numeric suffixes.

In the materialization-set batch and removal_scope tests, register the deployed set ID as [SET1_ID] with read_id.py and remove the compact-UUID TOML replacements. This makes the dashed local IDs and compact cloud IDs use the same named replacement before request/operation UUIDs are numbered.

Why

Expected output should distinguish different UUIDs consistently. #7423 handles the immutable and template comparisons. The materialization-set fix addresses the deterministic cloud mismatch found during the five sequential CI repetitions.

Tests

./task fmt, ./task checks, ./task lint, and the materialization-set acceptance tests passed. The full local suite was blocked by the unrelated completion-test SIGPIPE and temporary-home cleanup; inittime passed on retry. Cloud CI validation is pending.

This PR was written by Isaac and revised with Codex.

denik
denik previously approved these changes Oct 12, 2026
matches := repl.Old.FindAllString(s, -1)
if len(matches) <= 1 {
// Assign a stable [N] suffix per distinct matched value, in order of first
// appearance. Number only when there is more than one distinct value: a lone

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'd send this change as separate PR, to separate all those diffs unrelate to UUIDs.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Split out into #7420: it contains the generic Distinct change and the non-UUID golden updates. #7423 contains the test compatibility fixes. This PR now only removes the temporary UniqueUUID option and its obsolete tests, and updates the UUID goldens.

"name": "schema-[UNIQUE_NAME]",
"owner": "[USERNAME]",
"schema_id": "[UUID]",
"updated_at": [UNIX_TIME_MILLIS][0],

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why did [0] disappear here?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

created_at and updated_at contain the same timestamp, so there is only one distinct value. The generic change adds suffixes only when there are multiple distinct values; repeated occurrences of a single value stay unsuffixed. That behavior and these timestamp golden changes now live in #7420. This PR only adds UUID numbering to metastore_id and schema_id in this file.

@eng-dev-ecosystem-bot

eng-dev-ecosystem-bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Collaborator

✅ Integration test report

Commit: aedd90c

Run: 42843600423

Env ✅​pass 🙈​skip Time
✅​ aws linux-2core-8gb 319 46 8:41
✅​ aws-windows-latest-4core-16gb 321 44 9:25
✅​ azure linux-2core-8gb 315 47 8:24
✅​ azure-windows-latest-4core-16gb 317 45 9:21
✅​ gcp linux-2core-8gb 316 47 9:07
✅​ gcp-windows-latest-4core-16gb 318 45 10:39
Top 14 slowest tests (at least 2 minutes):
duration env testname
3:13 gcp-windows-latest-4core-16gb TestAccept
3:05 aws-windows-latest-4core-16gb TestAccept
2:56 aws-windows-latest-4core-16gb TestAccept/bundle/resources/job_runs/failed_run/DMS=true
2:43 azure-windows-latest-4core-16gb TestAccept/bundle/resources/materialization_sets/batch/DMS=
2:34 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/materialization_sets/batch/DMS=
2:31 azure-windows-latest-4core-16gb TestAccept
2:29 aws linux-2core-8gb TestAccept/bundle/resources/materialization_sets/batch/DMS=
2:26 azure-windows-latest-4core-16gb TestAccept/bundle/resources/job_runs/failed_run/DMS=true
2:24 azure linux-2core-8gb TestAccept/bundle/resources/job_runs/failed_run/DMS=
2:07 azure-windows-latest-4core-16gb TestAccept/bundle/resources/job_runs/failed_run/DMS=
2:06 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/job_runs/failed_run/DMS=true
2:04 gcp-windows-latest-4core-16gb TestAccept/bundle/deploy/immutable/basic/DMS=
2:03 gcp linux-2core-8gb TestAccept/bundle/deploy/immutable/destroy-redeploy/DMS=
2:00 aws-windows-latest-4core-16gb TestAccept/bundle/deploy/immutable/breakglass/DMS=

@janniklasrose
janniklasrose force-pushed the janniklasrose/acc/uuid-unique-knob branch from 26ab8ff to fc3f149 Compare November 9, 2026 22:54
@janniklasrose
janniklasrose force-pushed the janniklasrose/acc/uuid-unique-on-by-default branch from 767640b to 8fabaa1 Compare November 9, 2026 22:54
@janniklasrose
janniklasrose removed this pull request from stack #7022 November 9, 2026 22:55
@janniklasrose
janniklasrose added this pull request to stack #7421 November 9, 2026 22:55
@github-actions

github-actions Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

Commit: aedd90ca0 | Workflow run

Regression test report

Selected 20 changed tests (limit=20, 76 not selected)

25 tests: regression=0 unreleased=0 coverage=25 failing=0
test branch main (6a8d9bf) latest (v1.25.0)
TestAccept/air/run-submit ✅ ✅ ✅
TestAccept/bundle/artifacts/artifact_path_with_volume/volume_doesnot_exist/DMS= ✅ ✅ ✅
TestAccept/bundle/artifacts/artifact_path_with_volume/volume_doesnot_exist/DMS=true ✅ ✅ ✅
TestAccept/bundle/artifacts/artifact_path_with_volume/volume_not_deployed/DMS= ✅ ✅ ✅
TestAccept/bundle/artifacts/artifact_path_with_volume/volume_not_deployed/DMS=true ✅ ✅ ✅
TestAccept/bundle/deploy/immutable/basic/DMS= ✅ ✅ ✅
TestAccept/bundle/deploy/immutable/breakglass/DMS= ✅ ✅ ✅
TestAccept/bundle/deploy/immutable/destroy-redeploy/DMS= ✅ ✅ ✅
TestAccept/bundle/deploy/immutable/dev-mode/DMS= ✅ ✅ ✅
TestAccept/bundle/deploy/immutable/legacy-state/DMS= ✅ ✅ ✅
TestAccept/bundle/deploy/immutable/no-artifacts/DMS=/READPLAN= ✅ ✅ ✅
TestAccept/bundle/deploy/immutable/no-artifacts/DMS=/READPLAN=1 ✅ ✅ ✅
TestAccept/bundle/deploy/immutable/permissions-change/DMS= ✅ ✅ ✅
TestAccept/bundle/deploy/immutable/select/DMS= ✅ ✅ ✅
TestAccept/bundle/dms/immutable-folder/DMS=true/READPLAN= ✅ ✅ ✅
TestAccept/bundle/dms/immutable-folder/DMS=true/READPLAN=1 ✅ ✅ ✅
TestAccept/bundle/migrate/command/basic/DMS= ✅ ✅ ✅
TestAccept/bundle/migrate/command/grants/DMS= ✅ ✅ ✅
TestAccept/bundle/migrate/command/permissions/DMS= ✅ ✅ ✅
TestAccept/bundle/migrate/command/runas/DMS= ✅ ✅ ✅
TestAccept/bundle/python/data_quality_monitors-support/DMS=/PYDAB_VERSION=current ✅ ✅ ✅
TestAccept/bundle/python/data_quality_monitors-support/DMS=true/PYDAB_VERSION=current ✅ ✅ ✅
TestAccept/bundle/resources/materialization_sets/batch/DMS= ✅ ✅ ✅
TestAccept/bundle/resources/materialization_sets/removal_scope/DMS= ✅ ✅ ✅
TestAccept/selftest/uuid ✅ ✅ ✅

@janniklasrose
janniklasrose force-pushed the janniklasrose/acc/uuid-unique-knob branch from fc3f149 to 5c0a683 Compare November 9, 2026 23:30
@janniklasrose
janniklasrose force-pushed the janniklasrose/acc/uuid-unique-on-by-default branch from 8fabaa1 to 4190d12 Compare November 9, 2026 23:30
@janniklasrose
janniklasrose removed this pull request from stack #7421 November 9, 2026 23:31
@janniklasrose
janniklasrose changed the base branch from janniklasrose/acc/uuid-unique-knob to janniklasrose/acc/uuid-compatible-tests November 9, 2026 23:31
@janniklasrose
janniklasrose added this pull request to stack #7424 November 9, 2026 23:31
@janniklasrose janniklasrose changed the title acceptance: number distinct UUIDs by default (UniqueUUID on) acceptance: always distinguish UUIDs in test output Nov 9, 2026
@janniklasrose
janniklasrose marked this pull request as ready for review November 10, 2026 09:58
@janniklasrose
janniklasrose requested review from a team as code owners November 10, 2026 09:58

@denik denik left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Can you test this for flakiness? For example, by pushing 5 empty commits one after another.

Base automatically changed from janniklasrose/acc/uuid-compatible-tests to main November 10, 2026 12:06
@janniklasrose
janniklasrose force-pushed the janniklasrose/acc/uuid-unique-on-by-default branch from a67dc51 to 95981fe Compare November 10, 2026 12:06
@janniklasrose
janniklasrose force-pushed the janniklasrose/acc/uuid-unique-on-by-default branch from 21ca39e to aedd90c Compare November 10, 2026 15:20
@janniklasrose
janniklasrose removed this pull request from stack #7424 November 10, 2026 15:35
@janniklasrose
janniklasrose added this pull request to the merge queue Nov 10, 2026
Merged via the queue into main with commit 688c228 Nov 10, 2026
32 checks passed
@janniklasrose
janniklasrose deleted the janniklasrose/acc/uuid-unique-on-by-default branch November 10, 2026 15:58
denik added a commit that referenced this pull request Nov 10, 2026
Numbered UUIDs from main (#7021); restores the volume_id skip in change-name and
the recorded schema_id in user_agent/simple, which the rebase dropped.

Co-authored-by: Isaac <no-reply@databricks.com>
tharunbhuk-db added a commit that referenced this pull request Nov 10, 2026
main now numbers repeated UUIDs in acceptance output (#7021). The pipelines
test command stack is based on an older main, so its goldens are regenerated
here. This commit becomes empty once that stack is rebased.

Co-authored-by: Isaac <no-reply@databricks.com>
@eng-dev-ecosystem-bot

Copy link
Copy Markdown
Collaborator

❌ Integration test report

Commit: 688c228

Run: 42850012202

Env ❌​FAIL 🔄​flaky ✅​pass 🙈​skip Time
❌​ aws linux-2core-8gb 4 6 1521 1268 240:34
❌​ aws-windows-latest-4core-16gb 3 7 1440 1295 246:23
✅​ azure linux-2core-8gb 1511 1276 161:30
🔄​ azure-windows-latest-4core-16gb 3 1427 1303 166:07
✅​ gcp linux-2core-8gb 1518 1274 191:22
🔄​ gcp-windows-latest-4core-16gb 3 1434 1301 199:10
18 interesting tests: 14 flaky, 4 FAIL
Test Name aws linux-2core-8gb aws-windows-latest-4core-16gb azure-windows-latest-4core-16gb gcp-windows-latest-4core-16gb
❌​ TestAccept ❌​F 🔄​f 🔄​f 🔄​f
🔄​ TestAccept/bundle/invariant/no_drift ✅​p 🔄​f ✅​p ✅​p
🔄​ TestAccept/bundle/invariant/no_drift/DMS=true/INPUT_CONFIG=cluster_apply_policy_default_values.yml.tmpl/READPLAN= ✅​p 🔄​f ✅​p ✅​p
🔄​ TestAccept/bundle/invariant/no_drift/DMS=true/INPUT_CONFIG=cluster_libraries.yml.tmpl/READPLAN= ✅​p 🔄​f ✅​p ✅​p
🔄​ TestAccept/bundle/invariant/no_drift/DMS=true/INPUT_CONFIG=cluster_libraries.yml.tmpl/READPLAN=1 ✅​p 🔄​f ✅​p ✅​p
❌​ TestAccept/bundle/resources/alerts/basic ❌​F ❌​F ✅​p ✅​p
❌​ TestAccept/bundle/resources/alerts/basic/DMS= ❌​F ❌​F ✅​p ✅​p
❌​ TestAccept/bundle/resources/alerts/basic/DMS=true ❌​F ❌​F ✅​p ✅​p
🔄​ TestAccept/bundle/resources/apps/lifecycle-started ✅​p ✅​p ✅​p 🔄​f
🔄​ TestAccept/bundle/resources/apps/lifecycle-started/DMS= ✅​p ✅​p ✅​p 🔄​f
🔄​ TestAccept/bundle/resources/clusters/deploy/data_security_mode/DMS= 🔄​f ✅​p ✅​p ✅​p
🔄​ TestAccept/bundle/resources/clusters/deploy/data_security_mode/DMS=true 🔄​f ✅​p ✅​p ✅​p
🔄​ TestAccept/bundle/resources/clusters/deploy/simple/DMS= 🔄​f ✅​p ✅​p ✅​p
🔄​ TestAccept/bundle/resources/clusters/deploy/simple/DMS=true 🔄​f ✅​p ✅​p ✅​p
🔄​ TestAccept/bundle/resources/clusters/lifecycle-started 🔄​f ✅​p ✅​p ✅​p
🔄​ TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true 🔄​f ✅​p ✅​p ✅​p
🔄​ TestAccept/bundle/resources/postgres_synced_tables/recreate ✅​p 🔄​f 🔄​f ✅​p
🔄​ TestAccept/bundle/resources/postgres_synced_tables/recreate/DMS= ✅​p 🔄​f 🔄​f ✅​p
Top 50 slowest tests (at least 2 minutes):
duration env testname
17:45 aws-windows-latest-4core-16gb TestAccept/bundle/invariant/no_drift/DMS=true/INPUT_CONFIG=cluster_apply_policy_default_values.yml.tmpl/READPLAN=1
16:34 gcp linux-2core-8gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=
16:30 aws-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=true
14:19 aws-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=
13:44 aws linux-2core-8gb TestAccept/bundle/resources/clusters/deploy/data_security_mode/DMS=true
13:42 aws-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/resize-terminated-fallback/DMS=
13:38 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
13:35 aws linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=
12:19 aws linux-2core-8gb TestAccept/bundle/invariant/no_drift/DMS=true/INPUT_CONFIG=cluster_libraries.yml.tmpl/READPLAN=
12:15 aws linux-2core-8gb TestAccept/bundle/invariant/no_drift/DMS=true/INPUT_CONFIG=cluster_libraries.yml.tmpl/READPLAN=1
12:04 gcp linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=
11:53 gcp linux-2core-8gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
11:06 aws linux-2core-8gb TestAccept/bundle/invariant/no_drift/DMS=true/INPUT_CONFIG=cluster_apply_policy_default_values.yml.tmpl/READPLAN=1
10:53 aws linux-2core-8gb TestAccept/bundle/invariant/no_drift/DMS=true/INPUT_CONFIG=cluster_apply_policy_default_values.yml.tmpl/READPLAN=
10:25 aws-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/resize-terminated-fallback/DMS=true
9:56 aws-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true
9:48 azure-windows-latest-4core-16gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
9:43 azure linux-2core-8gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
9:43 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=
9:39 aws-windows-latest-4core-16gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=
9:37 aws linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=
9:34 aws-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=
9:14 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=
9:05 aws linux-2core-8gb TestAccept/bundle/invariant/destroy_idempotent/DMS=/INPUT_CONFIG=cluster_libraries.yml.tmpl/READPLAN=1
8:55 azure-windows-latest-4core-16gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=
8:55 aws linux-2core-8gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
8:49 gcp linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true
8:47 aws-windows-latest-4core-16gb TestAccept/bundle/deploy/spark-jar-task/DMS=true
8:38 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/deploy/local_ssd_count/DMS=true
8:37 aws-windows-latest-4core-16gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
8:31 aws linux-2core-8gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=
8:31 aws linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true
8:26 aws-windows-latest-4core-16gb TestAccept/bundle/invariant/no_drift/DMS=true/INPUT_CONFIG=cluster.yml.tmpl/READPLAN=1
8:25 azure linux-2core-8gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=
8:14 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true
7:57 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/deploy/local_ssd_count/DMS=
7:57 gcp linux-2core-8gb TestAccept/bundle/resources/clusters/deploy/local_ssd_count/DMS=
7:47 gcp linux-2core-8gb TestAccept/bundle/resources/clusters/resize-terminated-fallback/DMS=true
7:31 gcp linux-2core-8gb TestAccept/bundle/resources/clusters/deploy/local_ssd_count/DMS=true
7:24 aws-windows-latest-4core-16gb TestAccept/bundle/invariant/no_drift/DMS=/INPUT_CONFIG=cluster_libraries.yml.tmpl/READPLAN=1
7:08 aws linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=true
7:04 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=true
6:50 aws-windows-latest-4core-16gb TestAccept/bundle/invariant/no_drift/DMS=true/INPUT_CONFIG=cluster_libraries.yml.tmpl/READPLAN=1
6:49 azure linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=
6:35 azure-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true
6:29 aws linux-2core-8gb TestAccept/bundle/config-remote-sync/multiple_resources/DMS=
6:29 aws linux-2core-8gb TestAccept/bundle/config-remote-sync/multiple_resources/DMS=true
6:29 aws linux-2core-8gb TestAccept/bundle/resources/clusters/resize-terminated-fallback/DMS=true
6:16 azure linux-2core-8gb TestAccept/bundle/config-remote-sync/multiple_resources/DMS=true
6:06 gcp linux-2core-8gb TestAccept/bundle/resources/apps/lifecycle-started-omitted/DMS=true

andrewnester added a commit that referenced this pull request Nov 11, 2026
Merging main brings acceptance: always distinguish UUIDs in test output
(#7021), which numbers repeated UUIDs. The job get line in the immutable
bind test has two UUIDs, so its expected output now shows [UUID][0] and
[UUID][1], matching the CI run.

Co-authored-by: Isaac <no-reply@databricks.com>
idelafuente-oc pushed a commit to idelafuente-oc/cli that referenced this pull request Nov 11, 2026
## Changes

Add numeric suffixes for `Distinct` replacements only when an output
contains multiple distinct values. A repeated single value now stays
unsuffixed: `[HASH][0]` becomes `[HASH]`. Includes the corresponding
acceptance golden updates.

## Why

Keep numbering focused on distinguishing different values. This is the
generic prerequisite for the UUID numbering stack, followed by databricks#7020,
databricks#7423, and databricks#7021.

## Tests

Unit coverage checks single matches, repeated identical values, and
multiple distinct values. Formatting, checks, lint, and the full test
suite passed on the completed stack; databricks#7021 records the transient retry.

_This change was split and validated with Codex._
idelafuente-oc pushed a commit to idelafuente-oc/cli that referenced this pull request Nov 11, 2026
…databricks#7020)

## Changes

Add opt-in UUID numbering through `UniqueUUID`, defaulting to `false`,
with unit tests and acceptance selftests. Existing goldens stay
unchanged.

## Why

Keep the UUID replacement implementation separate from the golden
updates. This is layer 2 after databricks#7420: databricks#7423 prepares affected tests,
then databricks#7021 removes the temporary option and enables numbering
unconditionally.

## Tests

`go test ./libs/testdiff ./acceptance/internal` and both UUID acceptance
selftests passed on this layer.

_This PR was written by Isaac and revised with Codex._

Co-authored-by: Isaac <no-reply@databricks.com>
idelafuente-oc pushed a commit to idelafuente-oc/cli that referenced this pull request Nov 11, 2026
…atabricks#7423)

## Changes

Capture the immutable no-artifacts test's initial plan in a separate
golden, preserving its assertions. Teach the Python replacement helper
to honor `Distinct` so template comparisons can match numbered goldens.

## Why

Saved-plan deployment reuses the planned snapshot UUID; direct
deployment generates another. Separate plan output lets both variants
share expectations. Template comparisons also need the same numbering
behavior as the Go harness before databricks#7021 removes the UUID opt-out.

Stacked on databricks#7020. UUID numbering remains off by default in this PR.

## Tests

Both immutable variants, template tests, and helper selftests passed
with numbering off. Python doctests cover repeated values, multiple
distinct values, and already-normalized output. Formatting, checks,
lint, and the full test suite passed with numbering always enabled on
the completed stack; databricks#7021 records the transient retry.

_This PR was written by Codex._
@denik denik added the test-only-fix PRs that update failing of flaky tests without changing CLI code. label Nov 11, 2026
denik added a commit that referenced this pull request Nov 11, 2026
Numbered UUIDs from main (#7021); restores the volume_id skip in change-name and
the recorded schema_id in user_agent/simple, which the rebase dropped.

Co-authored-by: Isaac <no-reply@databricks.com>
denik added a commit that referenced this pull request Nov 11, 2026
Numbered UUIDs from main (#7021); restores the volume_id skip in change-name and
the recorded schema_id in user_agent/simple, which the rebase dropped.

Co-authored-by: Isaac <no-reply@databricks.com>
tedjt pushed a commit to tedjt/cli that referenced this pull request Nov 12, 2026
…atabricks#7492)

## Changes

In `bundle/resources/alerts/basic`, the check that the alert is gone
after `bundle destroy` now asserts only that the `alerts-v2 get-alert`
error contains `does not exist`. It no longer records the full backend
message. It follows the same `musterr ... &> LOG.x` + `contains.py`
pattern used in `acceptance/cmd/api/response-handling`.

## Why

Since 2026-11-10 ~18:00 UTC the backend returns a different not-found
message for a deleted alert, on AWS, Azure and GCP:

```
-Error: Alert with ID '[ALERT_ID]' does not exist.
+Error: Tree node with id [ALERT_ID] does not exist
```

The test only needs to show that the alert was deleted. The exact
wording is backend-owned and has now changed once, so matching the
stable part keeps the test from breaking on the next rewording.

Decisions:
- **Not a CLI regression.** The dashboard links the start to databricks#7021 (UUID
numbering in goldens), but databricks#7021 does not touch this test or the
`ALERT_ID` replacement. Failures began at the same time on all three
clouds across several different CLI commits, which points to a backend
rollout.
- **Not treated as a backend bug.** The call still fails with a
not-found error and exit code 1. Only the message text changed, so I did
not file a backend ticket.
- **libs/testserver left unchanged.** It still returns the old message,
which also contains `does not exist`, so local and cloud runs both pass.

## Tests

- Local: `go test ./acceptance -run
'TestAccept/bundle/resources/alerts/basic'` passes.
- Cloud (AWS): `testme-aws -count=1 -run
'TestAccept/bundle/resources/alerts/basic'` passes for `DMS=` and
`DMS=true` against the current backend.

## Dashboard:

| link | failure |
|---|---|
|
go/cli/dashboard/error/3324?main=1&pr=1&end=2026-11-11T17:00:00Z&last=2d
| `Error: Tree node with id [ALERT_ID] does not exist` (expected `Error:
Alert with ID '[ALERT_ID]' does not exist.`) |
|
go/cli/dashboard/test/acceptance.TestAccept/bundle/resources/alerts/basic/DMS=?main=1&pr=1&end=2026-11-11T17:00:00Z&last=2d
| same |
|
go/cli/dashboard/test/acceptance.TestAccept/bundle/resources/alerts/basic/DMS=true?main=1&pr=1&end=2026-11-11T17:00:00Z&last=2d
| same |

This pull request and its description were written by Isaac.

Co-authored-by: Isaac <no-reply@databricks.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AIR Databricks AI Runtime CLI DABs DABs related issues PyDABs test-only-fix PRs that update failing of flaky tests without changing CLI code.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants