Skip to content

fix(s3vectors): map client errors to dynavec exceptions - #346

Merged
Kaap10 merged 1 commit into
codeforstartups:developmentfrom
GITHUBTANMAY2003:fix/issue-15-s3vectors-error-mapping
Oct 22, 2026
Merged

Kaap10 merged 1 commit into
codeforstartups:developmentfrom
GITHUBTANMAY2003:fix/issue-15-s3vectors-error-mapping

Conversation

@GITHUBTANMAY2003

Copy link
Copy Markdown
Contributor

Description

S3 Vectors errors currently reach users as low-level Botocore ClientError exceptions. This PR translates the common not-found, access-denied, and validation failures into dynavec exceptions that are easier for applications to handle.

Related issue

Fixes #15

Changes

  • Added AccessDeniedError and ValidationError, alongside the existing NotFoundError.
  • Added a shared error translator used by both the synchronous and asynchronous S3 Vectors stores.
  • Covered direct requests, paginated operations, and concurrent uploads.
  • Kept unknown and temporary AWS errors unchanged so the existing retry logic continues to work.
  • Added offline tests for error mapping, retries, pagination, and concurrent failures.

Testing

  • 107 affected tests passed, including 56 new error-handling tests
  • Ruff passed
  • Mypy passed
  • Full suite passed locally with the OpenAI import-order workaround
  • Documentation update not required.

@Kaap10 Kaap10 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. The error translation helper maps S3 Vectors client errors cleanly across sync, async, and paginated operations while preserving retry behavior for transient errors. Verified locally with all 56 new tests and full suite passing.

@Kaap10
Kaap10 merged commit 2a61981 into codeforstartups:development Oct 22, 2026
4 checks passed
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.

Map S3 Vectors client errors to dynavec exceptions

2 participants