You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using a ChecksumAlgorithm, the request body (that is initially a ReadFileChunk) is wrapped into an AwsChunkedWrapper, which doesn't have a couple of methods, such as signal_transferring()/signal_not_transferring().
As a result, the hook on "request-created.s3.UploadPart" (which is this: https://github.com/boto/s3transfer/blob/develop/s3transfer/utils.py#L56) is not calling anything, thus not enabling the calls to the progress callbacks.
I'll try to understand all this a bit further, I'm new to boto3 so I'm not sure what would be the proper way to fix this...maybe simply decorate signal_transferring()/signal_not_transferring() in the AwsChunkedWrapper to redirect to the wrapped object ? i'll give it a quick try, see what happens...
Comments on closed issues are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.
Trying to revive #3782 as a new issue...here are my findings, with a potential fix, although I'm not completely sure about its side-effects...
I'm stubbling upon this issue as well, and after a little bit of debugging, I think I found the source of the issue, here: https://github.com/boto/botocore/blob/develop/botocore/httpchecksum.py#L332
When using a ChecksumAlgorithm, the request body (that is initially a
ReadFileChunk
) is wrapped into anAwsChunkedWrapper
, which doesn't have a couple of methods, such assignal_transferring()/signal_not_transferring()
.As a result, the hook on "request-created.s3.UploadPart" (which is this: https://github.com/boto/s3transfer/blob/develop/s3transfer/utils.py#L56) is not calling anything, thus not enabling the calls to the progress callbacks.
I'll try to understand all this a bit further, I'm new to boto3 so I'm not sure what would be the proper way to fix this...maybe simply decorate
signal_transferring()/signal_not_transferring()
in theAwsChunkedWrapper
to redirect to the wrapped object ? i'll give it a quick try, see what happens...Edit:
@tim-finnigan, adding this:
...to
AwsChunkedWrapper
did the trick and the progress callback is now called when using a ChecksumAlgorithm.But I have no idea if this is a good fix or not...
Originally posted by @moretromain in #3782 (comment)
The text was updated successfully, but these errors were encountered: