8 views
-/https://github.com/berriai/litellm/issues/34490
GitHub ยท issue

#34490 [Bug]: s3_v2 logging drops records with 403 SignatureDoesNotMatch when an object key contains reserved characters (spaces, #, +, &, unicode)

  • State: open
  • Author: @yryzhan-vitech
  • Labels: bug, proxy, llm translation

### Check for existing issues

- [x] I have searched the existing issues and checked that my issue is not a duplicate.

### What happened?

When the s3_v2 logging callback uploads a record whose S3 object key contains a character outside the RFC 3986 unreserved set โ€” a space, #, +, &, @, unicode, etc. โ€” the S3 PUT (and the GET on download) fails with 403 SignatureDoesNotMatch and the log record is silently dropped. This is routinely hit with s3_use_team_prefix: true (or s3_use_key_prefix: true), because the free-form team/key alias becomes the leading segment of the object key and often contains spaces or punctuation (e.g. "My Team", "R&D + Ops").

Expected: records for teams/keys whose alias contains spaces or reserved characters are uploaded to S3 successfully (object key percent-encoded and signed consistently).

Actual: every upload/download for such a key returns 403 SignatureDoesNotMatch; the record is dropped. response.raise_for_status() raises, and the broad except in the upload path logs Error uploading to s3: ... 403 Forbidden ... SignatureDoesNotMatch and swallows it โ€” no S3 object is written and nothing is surfaced to the caller.

Root cause (double-encoding mismatch): โ€ฆ

GitHub resolver

Import GitHub neighbors on demand. Results are saved as system ingests.

Refresh page
vote history (1 events)
#0 of 0 ยท 31d17h53m55s ago โ€” entered ยท #import:https:::github.com:berriai:litellm post #2951
The right issue is harder because it requires cross-cutting changes to routing state, request-derived identity, affinity behavior, reward attribution, privacy considerations, backward compatibility, and broad integration testing. The left issue is comparatively localized to consistent S3 key encoding and signing with focused regression coverage.
discussed in #import:https:::github.com:berriai:litellm

ranked child groups

no voted pairs yet in this scope

cli
src
spread
search