Skip to content

Conversation

monthonk
Copy link
Contributor

Description of change

The prefetcher now uses only one GetObject request to fetch data in advance. This request has a range of entire object but use backpressure mechanism to control how much data it wants to fetch into the part queue instead of spawning up to two requests in parallel.

This should make the throughput more stable because previously the two request tasks could compete with each other when fetching data from S3. Also, it will be easier to control how much data we want to store in the part queue.

Does this change impact existing behavior?

No, the change only for internal interface.


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the Developer Certificate of Origin (DCO).

@monthonk monthonk temporarily deployed to PR integration tests June 27, 2024 20:34 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests June 27, 2024 20:34 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests June 27, 2024 20:34 — with GitHub Actions Inactive
@monthonk monthonk had a problem deploying to PR integration tests June 27, 2024 20:34 — with GitHub Actions Failure
@monthonk monthonk temporarily deployed to PR integration tests June 27, 2024 20:34 — with GitHub Actions Inactive
@monthonk monthonk had a problem deploying to PR integration tests June 27, 2024 20:34 — with GitHub Actions Failure
@monthonk monthonk temporarily deployed to PR integration tests June 27, 2024 20:34 — with GitHub Actions Inactive
@monthonk monthonk force-pushed the backpressure_prefetcher branch from f746c57 to e0eafe9 Compare June 27, 2024 20:37
@monthonk monthonk temporarily deployed to PR integration tests June 27, 2024 20:38 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests June 27, 2024 20:38 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests June 27, 2024 20:38 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests June 27, 2024 20:38 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests June 27, 2024 20:38 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests June 27, 2024 20:38 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests June 27, 2024 20:38 — with GitHub Actions Inactive
@monthonk monthonk force-pushed the backpressure_prefetcher branch from e0eafe9 to ef43c7d Compare June 28, 2024 08:43
@monthonk monthonk had a problem deploying to PR integration tests June 28, 2024 08:43 — with GitHub Actions Failure
@monthonk monthonk had a problem deploying to PR integration tests June 28, 2024 08:43 — with GitHub Actions Failure
@monthonk monthonk had a problem deploying to PR integration tests June 28, 2024 08:43 — with GitHub Actions Failure
@monthonk monthonk had a problem deploying to PR integration tests June 28, 2024 08:43 — with GitHub Actions Failure
@monthonk monthonk had a problem deploying to PR integration tests June 28, 2024 08:43 — with GitHub Actions Failure
@monthonk monthonk had a problem deploying to PR integration tests June 28, 2024 08:43 — with GitHub Actions Failure
@monthonk monthonk had a problem deploying to PR integration tests June 28, 2024 08:43 — with GitHub Actions Failure
@monthonk monthonk force-pushed the backpressure_prefetcher branch from ef43c7d to d36a856 Compare June 28, 2024 09:22
@monthonk monthonk temporarily deployed to PR integration tests June 28, 2024 09:22 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests June 28, 2024 09:22 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests June 28, 2024 09:22 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests June 28, 2024 09:22 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests June 28, 2024 09:22 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests June 28, 2024 09:22 — with GitHub Actions Inactive
Signed-off-by: Monthon Klongklaew <monthonk@amazon.com>
@monthonk monthonk force-pushed the backpressure_prefetcher branch from 8c5a033 to 4d0f264 Compare August 2, 2024 16:20
@monthonk monthonk temporarily deployed to PR integration tests August 2, 2024 16:20 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests August 2, 2024 16:20 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests August 2, 2024 16:20 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests August 2, 2024 16:20 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests August 2, 2024 16:20 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests August 2, 2024 16:20 — with GitHub Actions Inactive
@monthonk monthonk temporarily deployed to PR integration tests August 2, 2024 16:20 — with GitHub Actions Inactive
@monthonk monthonk closed this Aug 5, 2024
@monthonk
Copy link
Contributor Author

monthonk commented Aug 5, 2024

I'm going to split this into smaller PRs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

performance PRs to run benchmarks on

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants