Skip to content

Is put done twice? #26

Closed
Closed

Description

@ctengel

Do we upload whole file to frontend then get redirect?

Ideally we don't want to start upload at all, just get redir

Activity

  1. ctengel commented on Jan 1, 2026

    @ctengel
    OwnerAuthor

    should we use expect/100/417 for this?

  2. self-assigned this
    on Jan 4, 2026
  3. ctengel commented on Jan 4, 2026

    @ctengel
    OwnerAuthor

    saw this with curl direct to obj server on fastapi

    > PUT /bucket/key.mp4 HTTP/1.1
    > Host: localhost:46579
    > User-Agent: curl/8.14.1
    > Accept: */*
    > Content-Length: 100000000
    > Expect: 100-continue
    > 
    < HTTP/1.1 100 Continue
    < 
    * upload completely sent off: 100000000 bytes
    < HTTP/1.1 201 Created
    < date: Sun, 04 Jan 2026 18:19:00 GMT
    < server: uvicorn
    < repr-digest: sha-256=:...:
    < content-length: 0
    
  4. added this to the Basic milestone on Jan 5, 2026
  5. ctengel commented on Jan 6, 2026

    @ctengel
    OwnerAuthor

    Iftop

  6. ctengel commented on Jan 7, 2026

    @ctengel
    OwnerAuthor
  7. ctengel commented on Jan 7, 2026

    @ctengel
    OwnerAuthor
  8. pinned this issue on Jan 16, 2026
  9. ctengel commented on May 21, 2026

    @ctengel
    OwnerAuthor
  10. ctengel commented on May 21, 2026

    @ctengel
    OwnerAuthor

    python/cpython#42550 may be the root issue of all this

  11. ctengel commented on May 21, 2026

    @ctengel
    OwnerAuthor

    we sure do see bdb6505

  12. ctengel commented on May 21, 2026

    @ctengel
    OwnerAuthor

    Unless something else gets fixed, we likely need to move the client to aiohttp or pycurl via #21 . Bake-off?

  13. ctengel commented on May 21, 2026

    @ctengel
    OwnerAuthor

    Resolved. The 2x upload is real — the locator answers PUT with a 307 and never reads the body — and is now fixed on the client side: simpler_objects.client (commit 884c54d) sends Expect: 100-continue, so a compliant client sends the body only to the object server, not the locator. An automated TCP-proxy test verifies the body skips the locator.

    Adoption of the new client library by objectindex is tracked in ctengel/objectindex#83.

  14. unpinned this issue on May 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions