-
Notifications
You must be signed in to change notification settings - Fork 0
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
34 remove need for direct auth with s3 #36
base: main
Are you sure you want to change the base?
Conversation
d92db01
to
549f285
Compare
ae043ed
to
3110222
Compare
3110222
to
cec7c99
Compare
using percentage directly
Add pond as worker pool for multipart uploads
It's composed of the checksums of the parts and not the whole object's digest
8c964a4
to
fc5aa15
Compare
case task.TransferGlobus: | ||
err = GlobusTransfer(config.Transfer.Globus, ingestionTask, task_context, ingestionTask.DatasetFolder.Id, datasetFolder, fullFileArray, notifier) | ||
if err != nil { |
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.
why add the error handling separately for each transfer case when at line 219 (line 210 before changes), we have a common error handler for both cases? If there's a good reason then the common one should also be removed
@@ -147,12 +144,15 @@ func (w *TaskQueue) RemoveTask(id uuid.UUID) error { | |||
|
|||
func (w *TaskQueue) ScheduleTask(id uuid.UUID) { | |||
w.taskListLock.RLock() | |||
ingestionTask, found := w.datasetUploadTasks.Get(id) | |||
ingestionTask := w.datasetUploadTasks.GetElement(id) |
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.
is the a specific reason to use GetElement over Get?
This PR changes how S3 uploads are authenticated: instead of using credentials, it will get presigned urls from a server (using the scicat jwt token to authenticate). This allows to not have to distribute any S3 credentials.
Additionally, there are some tuning parameter for multipart-s3 upload in order to optimally use the available bandwidth