Skip to content

Return unified download errors to callers - #664

Closed
srkyn wants to merge 1 commit into
bazelbuild:masterfrom
srkyn:fix/unified-download-error-notification
Closed

srkyn wants to merge 1 commit into
bazelbuild:masterfrom
srkyn:fix/unified-download-error-notification

Conversation

@srkyn

@srkyn srkyn commented Aug 29, 2026

Copy link
Copy Markdown

Summary

When a unified single-file download fails before recording moved-byte metadata, afterDownload currently skips the waiting requests. The callers then wait until their contexts are canceled and do not receive the original CAS error.

This change supplies zero-moved metadata with the requested size, allowing the existing response path to notify every waiter with the original error. The regression uses a missing fake-CAS blob and verifies that DownloadActionOutputs returns NotFound before its deadline.

This addresses the stuck-client failure mode described in issue #37.

Testing

  • Go 1.25.7 focused regression: 10 of 10 passed.
  • go test ./go/pkg/client -count=1
  • go test -race ./go/pkg/client -run '^TestUnifiedDownloadReturnsCASErrors$' -count=3
  • go vet ./go/pkg/client
  • gofmt and git diff --check

@ywmei-brt1

Copy link
Copy Markdown
Collaborator

Thanks for the PR, we fixed it here: #676

@ywmei-brt1 ywmei-brt1 closed this Nov 11, 2026
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.

2 participants