-
Notifications
You must be signed in to change notification settings - Fork 205
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
S3 relay interface #833
Merged
cody-littley
merged 29 commits into
Layr-Labs:master
from
cody-littley:s3-relay-interface
Oct 30, 2024
Merged
S3 relay interface #833
Changes from all commits
Commits
Show all changes
29 commits
Select commit
Hold shift + click to select a range
6814f14
Created core framework, need to add unit tests
cody-littley c7ba7d6
Add unit tests for fragmentation logic.
cody-littley e5dcc78
Incremental progress.
cody-littley 17ac4bc
Fix some bugs.
cody-littley 356959c
Fixed bugs.
cody-littley 958e6e1
Test against localstack.
cody-littley a2bb06f
lint
cody-littley 95b9d75
Cleanup.
cody-littley 9b9d57d
Merge branch 'master' into s3-relay-interface
cody-littley e6c7a0e
Remove TTL from upload
cody-littley b712c88
Merge branch 'master' into s3-relay-interface
cody-littley 93e2310
Use v2 APIs.
cody-littley 6e9aa2e
Made suggested changes.
cody-littley 8323596
Made suggested changes.
cody-littley 5d5f425
Incremental checkin.
cody-littley 2ddd2c4
Finished migration.
cody-littley 220d48f
Fix flags.
cody-littley 4996fb0
Fix bug.
cody-littley 06cb92e
Merge branch 'master' into s3-relay-interface
cody-littley dc5b6fc
Fix unit test.
cody-littley 9104ab1
Fix unit test.
cody-littley 319fca6
Fix unit test.
cody-littley fe9e08c
Fix unit test.
cody-littley 8f269de
Make suggested changes.
cody-littley c5d5b96
Tweak unit test.
cody-littley a4c081d
Merge branch 'master' into s3-relay-interface
cody-littley c4c7e2d
Change localstack port.
cody-littley 684dab8
Add debug code.
cody-littley 958f593
Fiddle with inabox settings.
cody-littley File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This pool is shared across all ongoing uploads and downloads. Which means when there are many uploads/downloads in flight, it can build backpressure. Is that problematic?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My previous iteration had a config parameter that allowed the client to be have a configurable sized work queue (i.e. when I was using my own implementation of
workerpool
. Unfortunately, theworkerpool
library does not allow us to override the channel used to send data to the workers.From the implementation:
By default, channels have a buffer size of 0. This means that if the number of read/write tasks exceed the number of available workers, the caller will block until all tasks are accepted by a worker. This will provide back pressure if more work is scheduled than there are workers to handle that work.
Are you ok with the way this is configured by default? If not, we will probably need our own implementation of
workerpool
.