Skip to content
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

chore: 0.38.0 Release #1669

Merged
merged 13 commits into from
Dec 17, 2019
Merged

chore: 0.38.0 Release #1669

merged 13 commits into from
Dec 17, 2019

Conversation

jfuss
Copy link
Contributor

@jfuss jfuss commented Dec 16, 2019

Issue #, if available:

Description of changes:

Checklist:

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

jfuss and others added 13 commits December 5, 2019 11:47
To support debugging for Nodejs10.x and Nodejs12.x, SAM CLI overrides
the entrypoint to the container. In newer runtimes (that are based
on the provided runtime), we overrided the bootstrap file which can
have side-effects. In the case of Nodejs, the bootstrap file adds
the NODE_PATH env var. Since we override this, NODE_PATH does not
get setup on the system and causes modules to not load (in some
cases, #1246). With #1634 (Java11 Debug support), we added a
capability to attach Env Vars into the container for debug mode
invokes. We will use this to apply the NODE_PATH onto the container
for debug.

I attempted to move all the args we pass into NODE_OPTIONS, which would
make Nodejs work like Java11 for debug. That is, allow us not to override
the entrypoint and still be able to apply the needed flags to the interpreted.
Unfortunately, NODE_OPTIONS restricts values that can be passed in,
which includes `--nolazy`. This flag is used to tell Nodejs to parse
all JavaScript files first instead of on first access. This ensures that
breakpoints to not "jump" to a different location in the file. It could
be worth exploring whether `--nolazy` is strictly required but for now
leaving as is.
)

Addresses Issue #1375.

Due to Boto3.session.Session objects not being thread safe, we
create a Session object on every invoke to get credentials to
mount into the container. This works well except for customers
using MFA. When using MFA, this dehavior requires customers to
provide MFA code/pin on every invoke. This creates much longer
debug sessions for customers and pauses invokes until the MFA
code/pin is provided. This PR changes that behavior to one we
had between version v0.8.0 and v0.16.0, which is caching the
creds/session to be reused on other invokes until the credentials
expire. Once the credentials expire, customers will need to restart
the command (which was the same behavior on version 0.8.0 to 0.16.0.
…ainers. (#1642)

Original PR #1620
Initial reverted PR #1621

This reverts commit c75944e.
Since April 30, 2019, it's no longer possible to create new functions using nodejs6.10 https://docs.aws.amazon.com/lambda/latest/dg/runtime-support-policy.html.
@jfuss jfuss merged commit dbf1a96 into master Dec 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants