Missing large binary buckets are not created after a head request
- Dominant language
- Scala
- Stars
- 314
- Forks
- 187
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 214
Description
### Feature Summary
`LargeBinaryManager._ensure_bucket_exists` only catches the modeled `NoSuchBucket` exception. S3 `HeadBucket` reports a missing bucket as a generic `ClientError` with a 404 code, so Texera propagates the error and never creates the bucket needed for the first large binary upload.
Before: a 404 from `HeadBucket` aborts bucket setup.
Expected: missing-bucket responses create the bucket, while other S3 errors still propagate.
Reproduction evidence:
1. Configure an S3 client whose `HeadBucket` response is HTTP 404.
2. Call `_ensure_bucket_exists` for that bucket.
3. Observe a botocore `ClientError` and no `CreateBucket` request.
Version and commit evidence:
1.3.0-incubating-SNAPSHOT on main
**Commit Hash (Optional)**
50321e403c82df299a13deb50a7f9849dd93bdba
**Relevant log output**
botocore.exceptions.ClientError: An error occurred (404) when calling the HeadBucket operation: Not Found
### Proposed Solution or Design
Expected: missing-bucket responses create the bucket, while other S3 errors still propagate.
### Affected Area
Storage / Metadata
Contributor guide
Assessment
This issue has not been assessed yet.