Skip to content

DDOS-6057: feat: timeout for files upload - #567

Merged
sg-s merged 2 commits into
mainfrom
timeout-fix-files
Jun 4, 2026
Merged

sg-s merged 2 commits into
mainfrom
timeout-fix-files

Conversation

@sg-s

@sg-s sg-s commented Jun 4, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Increase httpx timeouts for signed-URL file uploads in Files._put_to_signed_url. The default 5s read timeout was causing intermittent upload failures under concurrent upload_tree workloads (e.g. RBFE finalize uploading hundreds of execution artifacts to S3).

Timeout values: connect 10s, read 120s, write 300s, pool 10s.

Test plan

  • functionality-tests pass (unit/integration, no live API)
  • level-1-tests — dev env currently fails on main too (test_organizations.py API shape drift); unrelated to this change
  • Publish deeporigin-sdk after merge so toolbox PR can pin 5.0.1

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR primarily updates the Files platform client to use a longer httpx timeout when uploading file bodies to signed URLs, reducing spurious timeouts during concurrent upload_tree operations. It also includes a documentation notebook update that changes how binding pockets are obtained.

Changes:

  • Extend signed-URL upload timeouts in Files._put_to_signed_url() by configuring an explicit httpx.Timeout.
  • Update the constrained docking notebook to run PocketFinder and use pockets[0] for docking.
  • Minor/no-op change to src/VERSION content/formatting.

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated 2 comments.

File Description
src/VERSION No functional version bump; appears to be a formatting/no-op change.
src/platform/files.py Introduces a longer, explicit httpx timeout for signed-URL PUT uploads.
docs/notebooks/clean/constrained-docking.ipynb Switches pocket selection from fixture-based loading to running PocketFinder and using the first returned pocket.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +166 to +168
"pf = PocketFinder(protein=protein, pocket_count=1)\n",
"pockets = pf.run()\n",
"protein.show(pockets=pockets)"
"cd = ConstrainedDocking(\n",
" protein=protein,\n",
" pocket=pocket,\n",
" pocket=pockets[0],\n",
Keep PR scoped to signed-URL upload timeout fix in files.py only.

Co-authored-by: Cursor <cursoragent@cursor.com>
@sg-s
sg-s merged commit 50177b7 into main Jun 4, 2026
12 of 14 checks passed
@sg-s
sg-s deleted the timeout-fix-files branch June 4, 2026 19:31
@sg-s sg-s changed the title feat: timout for files upload DDOS-6057: feat: timeout for files upload Jun 5, 2026

This branch had an error being deployed

2 failed and 2 inactive deployments
docs — 8936b3a9 Deployed Jun 4, 2026 by sg-s via build-docs #496
dev — 8936b3a9 Deployed Jun 4, 2026 by sg-s via level-1-tests (3.13, dev) #344
staging — 8936b3a9 Deployed Jun 4, 2026 by sg-s via level-1-tests (3.13, staging) #344
prod — 8936b3a9 Deployed Jun 4, 2026 by sg-s via level-1-tests (3.13, prod) #344
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