-
Notifications
You must be signed in to change notification settings - Fork 585
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
@aws-sdk/client-s3 (@aws-sdk/signature-v4-crt) 3.29.0 introduces aws-crt and deprecated dependencies #2750
Comments
I am also having issues with the new release. My codebuild projects running a serverless package/deploy are unable to correctly trace and package lambdas.
relevant snippet from above file:
|
I'm having issues as well on alpine...
and
|
We ran into the size issue of the dependencies:
Even with a minimal dependency like
The node_modules folder is 20750416 in size which is already too large to be deployed. |
this makes it unusable how this lib breaks at every update ? |
we also run into problems when trying to bundle and deploy on lambda:
|
Ugh. Same here :( |
I am having the same issue. The |
I kept on having this issue
For temp. resolving it, I reverted my s3-client lib to |
I have also issue with this version, Server terminations signals getting after this update |
To get my Serverless deployments working after this update, I had to blow away the following files before running
And while it's not related to aws-crt, since it's still related to the AWS SDK:
This is a pretty bad hack, and won't help everyone, but it might help make sure to keep your Lambda bundles free of a lot of the bulky source or test data that won't be used in your PROD environments anyway. It also won't do much to help people who use React Native or need to do testing stuff in their Lambda envs. |
I like your action ❤️ |
We just ran into this issue and only caught it so quickly because of the I can also confirm pinning to 3.28.0 resolved the issue until it's addressed in a future release. The change in 3.29.0 appears to be introduced in PR #2742 so copying @AllanZhengYP. |
Hi, thank you all very much for reporting the issue, I will work with the aws-crt package author to address the dependency and size issue. One alternative is making aws-crt package a peer dependency, and only required when users using multi-regional request. I will post updates here as we progress. Now the affected version is |
Thanks @AllanZhengYP for the update. I don't know enough about the library to make a very informed suggestion, but if the vast majority of users of this library do not need multi-region support, perhaps making it an explicit optional peer dependency makes the most sense, even if it only bumps the package size by a few MB if included after fixing As a few MB added here, and a few MB added by another package can add quickly add up, so the added complexity of a peer dependency may well be worth it. Also, I'm not sure if tree-shaking can help and we've just not configured webpack properly for example, as I'm going beyond my skill level, but that might be another option. Perhaps |
Yeah, the package size is definitely something to look at, especially with this library. A pattern that is becoming common is to use AWS CDK, and use the construct that bundles the code for each Lambda. Which then bundles all of the deps, and one rogue dependency will bump the Lambda bundle sizes to several megabytes. |
A bit off topic, but I agree with the notion of being vigilant of package sizes. |
I just deployed a basic Lambda function with only |
@AllanZhengYP is that the compressed or uncompressed size? Our lambda package had a compressed size of approximately 80MB when using When using |
The revert has been released in 3.30.0. The dependency should be removed. |
Appreciate you guys jumping on this so quickly. |
this has haunted me for days. Simply including the getSignedUrl from @aws-sdk/s3-request-presigner breaks the lambda function with the useless error message: "AWS CRT binary not present in any of the following locations..." |
upgrading to 3.30.0 solved the issue for me.
…On Sat, Sep 11, 2021 at 2:35 PM Sean ***@***.***> wrote:
I'm running Node in docker with node:14-alpine and the aws-crt binary
wants to use ld-linux-x86-64.so.2 but can't find it.
This is in order for me to use the V3 S3 client only.
I have tried adding this in multiple ways (using info from multiple posts)
but without luck and still get a crash when aws-crt tries to access it on
a call to any S3 method/command.
I'm having to use another S3 library for now.
Any info on a solve for this? Is there a different docker image with this
file included? I'm very far from a docker expert.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#2750 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AANUL6QKPVVZRXLTMRRQUU3UBOOOJANCNFSM5DMFCJOQ>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Is this really solved? Is signature-v-crt a mandatory peer dependency from client-s3 now? When using webpack to package my code I get this:
So it seems this module is strictly required, although
|
I don't know why this and the related issues have been closed - the bug with the massive package size and deprecated dependencies is back in 3.34.0, so for now I have to stick with 3.28.0
But then...
|
We are still pinned to |
Interestingly, I am not seeing the bundling issue on the Lambda packages are of normal size (for us). During the last breakage, these sizes have ballooned to an extreme size, outgrowing the max limit for the lambda package size. |
same problem with lates version(
|
I can confirm this as well. I recently upgraded my SDK from ver 2 to ver 3 and glad I found this thread! |
@AllanZhengYP please re-open this, the issue has returned in 3.36.0 for several libraries. I encountered it with dynamodb |
Getting similar issues trying to use |
Is anyone at AWS actively trying to solve this? cc @AllanZhengYP |
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs and link to relevant comments in this thread. |
Describe the bug
When updating to 3.29.0,
@aws-sdk/client-s3
and@aws-sdk/s3-request-presigner
now have@aws-sdk/signature-v4-crt
as a dependency, which hasaws-crt
as a dependency, which is both very large (over 200MB) and has several deprecated dependencies. Notably:har-validator@5.1.5
,uuid@3.4.0
, andrequest@2.88.2
. The total number of dependencies for@aws-sdk/client-s3
also more than triples from 85 to 273.Your environment
SDK version number
@aws-sdk/client-s3@3.29.0
@aws-sdk/s3-request-presigner@3.29.0
@aws-sdk/signature-v4-crt@3.29.0
Is the issue in the browser/Node.js/ReactNative?
Node.js
Details of the browser/Node.js/ReactNative version
Node v14.17.6
Steps to reproduce
Observed behavior
Warnings about deprecated packages are printed when updating. Very large node_modules directory.
Expected behavior
No deprecated or overly large packages are installed when updating.
The text was updated successfully, but these errors were encountered: