Skip to content

structdiff: fix IsEqual panic on named string map keys - #7206

Merged
denik merged 1 commit into
mainfrom
denik/structdiff-equal-named-key
Oct 28, 2026
Merged

denik merged 1 commit into
mainfrom
denik/structdiff-equal-named-key

Conversation

@denik

@denik denik commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

structdiff.IsEqual panicked on maps keyed by a defined string type (e.g. type ScriptHook string): equalMapStringKey asserted keys with k.Interface().(string). It now uses Value.String(), matching GetStructDiff, which got the same fix earlier (see TestGetStructDiffNamedStringMapKey).

This pull request and its description were written by Isaac.

equalMapStringKey asserted keys with k.Interface().(string), which panics
for a defined string key type (e.g. type ScriptHook string). Use
Value.String(), as diffMapStringKey already does.

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

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: e722368

Run: 40593518981

Env ✅​pass 🙈​skip Time
✅​ aws linux-2core-8gb 281 15 5:30
✅​ aws-windows-latest-4core-16gb 283 13 3:25
✅​ azure linux-2core-8gb 280 15 5:12
✅​ azure-windows-latest-4core-16gb 282 13 5:44
✅​ gcp linux-2core-8gb 281 15 5:36
✅​ gcp-windows-latest-4core-16gb 283 13 3:27
Top 6 slowest tests (at least 2 minutes):
duration env testname
5:36 azure-windows-latest-4core-16gb TestAccept
3:55 aws linux-2core-8gb TestAccept
3:48 azure linux-2core-8gb TestAccept
3:46 gcp linux-2core-8gb TestAccept
3:21 gcp-windows-latest-4core-16gb TestAccept
3:19 aws-windows-latest-4core-16gb TestAccept

@denik
denik marked this pull request as ready for review October 28, 2026 07:05
@denik
denik requested a review from a team as a code owner October 28, 2026 07:05
@denik
denik requested a review from lennartkats-db October 28, 2026 07:05
@denik
denik added this pull request to the merge queue Oct 28, 2026
Merged via the queue into main with commit 6309da2 Oct 28, 2026
28 checks passed
@denik
denik deleted the denik/structdiff-equal-named-key branch October 28, 2026 09:32
@eng-dev-ecosystem-bot

Copy link
Copy Markdown
Collaborator

Integration test report

Commit: 6309da2

Run: 40665083531

Env 🔄​flaky ✅​pass 🙈​skip Time
🔄​ aws linux-2core-8gb 3 1464 1217 164:38
🔄​ aws-windows-latest-4core-16gb 4 1388 1242 196:41
🔄​ azure linux-2core-8gb 3 1313 1269 127:58
✅​ azure-windows-latest-4core-16gb 1241 1294 146:49
✅​ gcp linux-2core-8gb 1303 1274 132:44
🔄​ gcp-windows-latest-4core-16gb 3 1225 1299 165:10
10 interesting tests: 10 flaky
Test Name aws linux-2core-8gb aws-windows-latest-4core-16gb azure linux-2core-8gb gcp-windows-latest-4core-16gb
🔄​ TestAccept 🔄​f ✅​p 🔄​f 🔄​f
🔄​ TestAccept/bundle/config-remote-sync/json_status_selectors ✅​p 🙈​s 🔄​f 🙈​s
🔄​ TestAccept/bundle/config-remote-sync/json_status_selectors/DMS=true ✅​p 🔄​f
🔄​ TestAccept/bundle/resources/apps/lifecycle-started-omitted ✅​p ✅​p ✅​p 🔄​f
🔄​ TestAccept/bundle/resources/apps/lifecycle-started-omitted/DMS=true ✅​p ✅​p ✅​p 🔄​f
🔄​ TestAccept/bundle/resources/postgres_branches/recreate ✅​p 🔄​f 🙈​s 🙈​s
🔄​ TestAccept/bundle/resources/postgres_branches/recreate/DMS=true ✅​p 🔄​f
🔄​ TestAccept/bundle/resources/postgres_synced_tables/recreate 🔄​f ✅​p 🙈​s 🙈​s
🔄​ TestAccept/bundle/resources/postgres_synced_tables/recreate/DMS= 🔄​f 🔄​f
🔄​ TestAccept/bundle/resources/postgres_synced_tables/recreate/DMS=true ✅​p 🔄​f
Top 50 slowest tests (at least 2 minutes):
duration env testname
16:37 aws-windows-latest-4core-16gb TestAccept/bundle/invariant/destroy_idempotent/DMS=/INPUT_CONFIG=cluster_libraries.yml.tmpl/READPLAN=
13:37 aws linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true
12:48 aws linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=
12:10 aws linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=
10:56 aws linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=true
10:30 azure linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true
10:28 gcp linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=true
10:23 aws-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true
9:09 aws-windows-latest-4core-16gb TestAccept/bundle/invariant/delete_idempotent/DMS=/INPUT_CONFIG=cluster_libraries.yml.tmpl/READPLAN=
8:31 aws-windows-latest-4core-16gb TestAccept/bundle/invariant/delete_idempotent/DMS=/INPUT_CONFIG=cluster.yml.tmpl/READPLAN=1
8:25 gcp linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=
8:14 aws-windows-latest-4core-16gb TestAccept/bundle/invariant/no_drift/DMS=true/INPUT_CONFIG=cluster_libraries.yml.tmpl/READPLAN=1
8:10 aws-windows-latest-4core-16gb TestAccept/bundle/invariant/delete_idempotent/DMS=/INPUT_CONFIG=cluster_apply_policy_default_values.yml.tmpl/READPLAN=
7:59 azure linux-2core-8gb TestAccept/bundle/config-remote-sync/multiple_resources/DMS=true
7:58 aws-windows-latest-4core-16gb TestAccept/bundle/invariant/delete_idempotent/DMS=/INPUT_CONFIG=cluster_apply_policy_default_values.yml.tmpl/READPLAN=1
7:53 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=
7:53 aws-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=
7:50 gcp linux-2core-8gb TestAccept/bundle/resources/clusters/deploy/local_ssd_count/DMS=
7:41 aws-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=true
7:39 aws linux-2core-8gb TestAccept/bundle/invariant/destroy_idempotent/DMS=/INPUT_CONFIG=cluster_libraries.yml.tmpl/READPLAN=1
7:38 aws-windows-latest-4core-16gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
7:38 aws linux-2core-8gb TestAccept/bundle/invariant/no_drift/DMS=/INPUT_CONFIG=cluster.yml.tmpl/READPLAN=
7:34 azure linux-2core-8gb TestAccept/bundle/config-remote-sync/multiple_resources/DMS=
7:34 aws-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started-toggle/DMS=
7:32 gcp linux-2core-8gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true
7:22 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/deploy/local_ssd_count/DMS=
7:20 aws linux-2core-8gb TestAccept/bundle/invariant/destroy_idempotent/DMS=/INPUT_CONFIG=cluster_apply_policy_default_values.yml.tmpl/READPLAN=1
7:12 aws-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/resize-terminated-fallback/DMS=true
7:12 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/deploy/local_ssd_count/DMS=true
7:09 aws linux-2core-8gb TestAccept/bundle/invariant/destroy_idempotent/DMS=/INPUT_CONFIG=cluster_libraries.yml.tmpl/READPLAN=
7:09 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
7:07 azure-windows-latest-4core-16gb TestAccept
7:06 azure-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true
7:05 aws-windows-latest-4core-16gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=
7:02 aws linux-2core-8gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
7:00 azure-windows-latest-4core-16gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
7:00 azure linux-2core-8gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=true
6:59 aws linux-2core-8gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=
6:58 aws-windows-latest-4core-16gb TestAccept/bundle/invariant/no_drift/DMS=true/INPUT_CONFIG=cluster_libraries.yml.tmpl/READPLAN=
6:58 aws-windows-latest-4core-16gb TestAccept/bundle/invariant/no_drift/DMS=true/INPUT_CONFIG=cluster_apply_policy_default_values.yml.tmpl/READPLAN=1
6:58 azure-windows-latest-4core-16gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=
6:57 gcp-windows-latest-4core-16gb TestAccept/bundle/invariant/no_drift/DMS=true/INPUT_CONFIG=cluster.yml.tmpl/READPLAN=
6:55 aws-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/resize-terminated-fallback/DMS=
6:53 aws-windows-latest-4core-16gb TestAccept/bundle/invariant/no_drift/DMS=true/INPUT_CONFIG=cluster_apply_policy_default_values.yml.tmpl/READPLAN=
6:47 azure linux-2core-8gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=
6:46 aws linux-2core-8gb TestAccept/bundle/resources/clusters/deploy/update-after-create/DMS=
6:43 gcp linux-2core-8gb TestAccept/bundle/resources/clusters/deploy/local_ssd_count/DMS=true
6:40 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/clusters/lifecycle-started/DMS=true
6:34 gcp linux-2core-8gb TestAccept/bundle/config-remote-sync/multiple_resources/DMS=
6:29 gcp-windows-latest-4core-16gb TestAccept/bundle/resources/apps/lifecycle-started/DMS=

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.

3 participants