acc: cover config-remote-sync write-back for split lists - #6116
Open
ilyakuz-db wants to merge 1 commit into
Open
acc: cover config-remote-sync write-back for split lists#6116ilyakuz-db wants to merge 1 commit into
ilyakuz-db wants to merge 1 commit into
Conversation
Contributor
Waiting for approvalBased on git history, these people are best suited to review:
Eligible reviewers: Suggestions based on git history. See OWNERS for ownership rules. |
Collaborator
Integration test reportCommit: 3854cff
8 interesting tests: 4 SKIP, 3 KNOWN, 1 RECOVERED
Top 3 slowest tests (at least 2 minutes):
|
ilyakuz-db
force-pushed
the
configsync/acc-split-list-baseline
branch
3 times, most recently
from
July 31, 2026 17:55
00635ac to
0d5de02
Compare
Co-authored-by: Isaac
ilyakuz-db
force-pushed
the
configsync/acc-split-list-baseline
branch
from
July 31, 2026 19:16
0d5de02 to
3854cff
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes
Adds end-to-end coverage for
bundle config-remote-syncwrite-back when a resource's list field is defined in more than one physical YAML region — a top-levelresources.<type>.<name>.<list>block plus atargets.<target>override, possibly spread across included files.Six new directories, all running locally against the in-process test server under both deployment engines:
split_keyed_edit,split_keyed_twoblock,split_keyed_remove,split_multifile,split_positional,split_isolation.The committed goldens record today's behaviour, which is wrong. That is deliberate: the fix lands on top of this and shows up as a golden diff, corruption on one side and correct output on the other.
acceptance/bundle/config-remote-sync/README.mddescribes each directory. What the goldens currently show:split_keyed_edit— editing a task defined only in the target block appends a keyless- timeout_seconds: 111element to the top-level block; the next sync then reportstasks[task_key='']: removefor the element it just created.split_keyed_remove— removing one task per block fails withremove index key out of bounds (idx 2, len 2), because a merged index is used against a block with fewer elements. Removing a task defined in both blocks deletes only the top-level half, orphaning the other.split_multifile— an edit to a task defined in an included override file is written to the top-leveldatabricks.ymlinstead.split_positional— a field edit on a target-block pipeline cluster fails withparent path ... does not exist.split_isolation— a rename of a two-block task is applied by guessing, leaving the task duplicated.Why
Loading merges the separate YAML regions into one list (keyed lists are also sorted by key), but on disk they stay separate regions that have to be edited independently. A remote change is expressed against the merged view, so write-back has to map it back to the right
(file, block, position).config-remote-syncruns unattended — nobody reads its output or exit code — so a silently wrong write is the worst outcome. None of this was covered before: the 21 existing directories are allCloud = true, so they don't run in normal CI, which makes "fails before the fix, passes after" impossible to demonstrate.validation_errorsshowed the hermetic path works, and these follow it.The single-block path is already covered by
job_multiple_tasks, which exercises edit, add, remove and rename on a resource defined in one block; it stays untouched by the fix, which is the regression evidence.Tests
This PR is only tests. Both engines pass locally, in seconds, with no cloud access.