-
Notifications
You must be signed in to change notification settings - Fork 32
1.15
#663
-
Summary
In this release we are excited to announce a new feature in the Batch processing utility and bug fixes in Tracing and Logging.
New Feature: ThrowOnFullBatchFailure
This release introduces a new batch processing option: ThrowOnFullBatchFailure
. This option controls whether a BatchProcessingException
should be raised on full batch failure.
⭐ Special thanks to @lachriz-aws for developing this feature.
The ThrowOnFullBatchFailure
option can be set via:
- A new
ThrowOnFullBatchFailure
field on theBatchProcessor
attribute (applied in non-utility mode) - A new environment variable
POWERTOOLS_BATCH_THROW_ON_FULL_BATCH_FAILURE
(applied in non-utility mode) - Directly on the
AWS.Lambda.Powertools.BatchProcessing.ProcessingOptions
in utility mode
ThrowOnFullBatchFailure attribute usage
ThrowOnFullBatchFailure ProcessingOptions usage
Behavior
When processing of an entire batch fails:
- If
ThrowOnFullBatchFailure
is set tofalse
, the Batch Processor will not throw an exception after batch processing has completed. Instead, it will return the IDs of the failed items (all batch items in this case) and exit gracefully. - If a Lambda function is configured with
ErrorHandlingPolicy = StopOnFirstBatchItemFailure
and the first batch item fails processing, the entire batch is marked as failed (as per the documentation). In this case, ifThrowOnFullBatchFailure
is set tofalse
, the behavior described above will apply.
Note: The new ThrowOnFullBatchFailure
option is compatible with the existing error handling policies.
Bug Fixes
Tracing Update
- Updated to version 1.5.2
- Fixed issue Lambda timeout with Tracing 1.5.1 using async methods #659 : Lambda timeout when calling async methods from a
Tracing
decorated method in version 1.5.1 - Thanks to @JonathanVerberne for reporting this issue
Logging Update
- Updated to version 1.6.1
- Fixed issue Bug: Enum logging throws NotSupportedException and empty log entry when running under .net8 #656 : Serialization exceptions when running .NET 8 non-AOT Lambda functions
- Thanks to @nCubed for reporting this issue
Changes
🌟New features and non-breaking changes
- feat: New batch processing option: 'ThrowOnFullBatchFailure' (feat: New batch processing option: 'ThrowOnFullBatchFailure' #646 ) by @lachriz-aws
📜 Documentation updates
- feat: New batch processing option: 'ThrowOnFullBatchFailure' (feat: New batch processing option: 'ThrowOnFullBatchFailure' #646 ) by @lachriz-aws
🔧 Bug Fixes
- chore: Fix Lambda timeout with Tracing 1.5.1 using async methods (chore: Fix Lambda timeout with Tracing 1.5.1 using async methods #660 ) by @hjgraca
- chore: Remove TypeInfoResolver from non AOT mode. (chore: Remove TypeInfoResolver from non AOT mode. #657 ) by @hjgraca
- chore: update logging nuget package version v 1.6.0 (chore: update logging nuget package version v 1.6.0 #652 ) by @hjgraca
This release was made possible by the following contributors:
@hjgraca and @lachriz-aws
This discussion was created from the release 1.15.
Beta Was this translation helpful? Give feedback.
All reactions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment