Skip to content

Conversation

lukachad
Copy link
Owner

Description

Changes made:

  • modified S3TransferManager to make requests concurrently to improve download speed. Now matches GetObjectCommand and even improves on it's speed
  • Compartmentalized RANGE and PART downloads into separate methods for readability.
  • Used getReader to lock the streams during multipart downloads to prevent premature termination.

Testing

Local end to end testing, spec.ts and e2e.spec.ts files.


By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@lukachad lukachad requested a review from kuhe July 17, 2025 20:40
@lukachad lukachad changed the base branch from main to transfer-manager July 21, 2025 19:04
@kuhe kuhe force-pushed the transfer-manager branch from c2dd901 to f70735f Compare July 21, 2025 19:28
throw failure;
} else if (isBlob(stream)) {
throw new Error("Blob not supported yet");
const reader = stream.getReader();
Copy link
Collaborator

Choose a reason for hiding this comment

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

may need to acquire reader before reaching the stream

Copy link
Collaborator

Choose a reason for hiding this comment

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

add this as a todo

@lukachad lukachad requested a review from kuhe July 22, 2025 16:26
@lukachad lukachad merged commit a77718f into transfer-manager Jul 22, 2025
@lukachad lukachad deleted the concurrency branch July 30, 2025 22:30
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