Skip to content

integration: retry UC schema and volume creation in TemporaryVolume - #7608

Open
denik wants to merge 1 commit into
mainfrom
denik/acc-fixture-retry-uc-create
Open

denik wants to merge 1 commit into
mainfrom
denik/acc-fixture-retry-uc-create

Conversation

@denik

@denik denik commented Nov 13, 2026

Copy link
Copy Markdown
Contributor

Changes

acc.TemporaryVolume now retries the UC schema and volume create calls on transient errors (libs/retry.IsTransientRead: unexpected EOF, REFUSED_STREAM, 5xx the SDK did not retry). On a retry, a 409 means the first attempt was applied, so the fixture fetches the existing schema or volume instead of failing.

Why

The SDK does not retry a POST whose connection was cut mid-response, so a dropped POST /api/2.1/unity-catalog/volumes failed the test during setup, before any fs command ran. Seen in two unrelated PRs on Azure. The schema create has the same exposure, so it gets the same handling.

Decision: treating a 409 on a retry as our own resource is safe because the schema name is random and the volume lives in that fresh schema, so nothing else could have created either.

Tests

On AWS, integration/cmd/fs TestFsRmEmptyDir and TestFsCpDir/uc-volumes_to_local pass. An EOF cannot be forced on cloud.

Dashboard

error/1101: Post "[DATABRICKS_URL]/api/2.1/unity-catalog/volumes": unexpected EOF at fixtures.go:126, in

AI agent (harness_auto).

This pull request and its description were written by Isaac.

POST /api/2.1/unity-catalog/volumes occasionally fails with "unexpected
EOF" when the connection is cut mid-response; the SDK does not retry a
POST on that. Retry the create on transient errors and, since the name is
unique to the test, treat "already exists" on a retry as our own resource.

Co-authored-by: Isaac <no-reply@databricks.com>
@denik denik added the ai-auto PRs made by AI loops & factories, label Nov 13, 2026
@github-actions github-actions Bot added the test-only-fix PRs that update failing of flaky tests without changing CLI code. label Nov 13, 2026
@eng-dev-ecosystem-bot

Copy link
Copy Markdown
Collaborator

✅ Integration test report

Commit: d69f099

Run: 43461243261

Env 💚​RECOVERED ✅​pass 🙈​skip Time
💚​ aws linux-2core-8gb 1 270 15 8:12
💚​ aws-windows-latest-4core-16gb 1 272 13 5:14
💚​ azure linux-2core-8gb 1 269 15 7:39
💚​ azure-windows-latest-4core-16gb 1 271 13 5:21
💚​ gcp linux-2core-8gb 1 270 15 8:03
💚​ gcp-windows-latest-4core-16gb 1 272 13 6:05
Test Name aws linux-2core-8gb aws-windows-latest-4core-16gb azure linux-2core-8gb azure-windows-latest-4core-16gb gcp linux-2core-8gb gcp-windows-latest-4core-16gb
💚​ TestAccept 💚​R 💚​R 💚​R 💚​R 💚​R 💚​R
Top 3 slowest tests (at least 2 minutes):
duration env testname
3:14 azure-windows-latest-4core-16gb TestAccept
3:03 aws-windows-latest-4core-16gb TestAccept
3:02 gcp-windows-latest-4core-16gb TestAccept

@denik
denik marked this pull request as ready for review November 13, 2026 16:51
@denik
denik requested review from a team as code owners November 13, 2026 16:51

This branch has not been deployed

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

Labels

ai-auto PRs made by AI loops & factories, 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.

2 participants