Repository navigation
Conversation
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>
Collaborator
✅ Integration test reportCommit: d69f099
Top 3 slowest tests (at least 2 minutes):
|
This branch has not been deployed
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
acc.TemporaryVolumenow 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/volumesfailed the test during setup, before anyfscommand 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/fsTestFsRmEmptyDirandTestFsCpDir/uc-volumes_to_localpass. An EOF cannot be forced on cloud.Dashboard
error/1101:
Post "[DATABRICKS_URL]/api/2.1/unity-catalog/volumes": unexpected EOFatfixtures.go:126, inAI agent (harness_auto).
This pull request and its description were written by Isaac.