Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,7 @@ when it uses SnapStart. Lambda functions that use SnapStart are snapshotted at
environments created afterwards share the same initial state. This means that if the Lambda function relies on state that
is not resilient to snapshot and restore operations, it might manifest an unexpected behavior by using SnapStart.

Note that there are countless ways of initializing a Lambda function handler such that it’s not compatible
with SnapStart. This tool helps provide an insight on possible cases where your code may not be fully compatible with
This tool helps provide an insight on possible cases where your code may not be fully compatible with
snapstart enabled. Please verify that your code maintains uniqueness with SnapStart. For best practices, follow the
guidelines outlined in the SnapStart [documentation](https://github.com/aws/aws-lambda-snapstart-java-rules/wiki).

Expand Down
16 changes: 7 additions & 9 deletions src/main/resources/messages.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,14 @@
<LongDescription>Detected handler state that is potentially not resilient to VM snapshot and restore operations in Lambda function {0}.</LongDescription>
<Details>
<![CDATA[
<p>Our analysis shows that AWS Lambda handler class initialization creates state that might have adverse effects
on the output of the function when it uses SnapStart. Lambda functions that use SnapStart are
snapshotted at their initialized state and all execution environments created afterwards share the same initial
state. This means that if the Lambda function relies on state that is not resilient to snapshot and restore
operations, it might manifest an unexpected behavior by using SnapStart.</p>
<p>Our analysis shows that AWS Lambda handler class initialization creates state that may not remain unique for the function
when it uses SnapStart. Lambda functions that use SnapStart are snapshotted at their initialized state and all execution
environments created afterwards share the same initial state. This means that if the Lambda function relies on state that
is not resilient to snapshot and restore operations, it might manifest an unexpected behavior by using SnapStart.</p>

<p>Note that there are countless ways of initializing a Lambda function handler such that it’s not compatible
with SnapStart. This tool helps you as much as possible but please use your own judgement to and refer
to <a href="https://github.com/aws/aws-lambda-snapstart-java-rules/README.md">the documentation</a> for
understanding how to avoid making your Lambda function SnapStart incompatible.</p>
<p>This tool helps provide an insight on possible cases where your code may not be fully compatible with
snapstart enabled. Please verify that your code maintains uniqueness with SnapStart. For best practices, follow the
guidelines outlined in the SnapStart <a href="https://github.com/aws/aws-lambda-snapstart-java-rules/wiki">documentation</a>.</p>
]]>
</Details>
</BugPattern>
Expand Down