Skip to content

Commit 82ea438

Browse files
committed
Merge branch 'develop' into docs/idempotency-guarantees
* develop: chore(deps-dev): bump pytest from 8.2.2 to 8.3.1 (aws-powertools#4799) chore(deps): bump docker/setup-qemu-action from 3.1.0 to 3.2.0 (aws-powertools#4800) chore(deps): bump docker/setup-buildx-action from 3.4.0 to 3.5.0 (aws-powertools#4801) chore(deps-dev): bump ruff from 0.5.3 to 0.5.4 (aws-powertools#4798) chore(logger): use package logger over source logger to reduce noise (aws-powertools#4793) chore(ci): changelog rebuild (aws-powertools#4794) chore(ci): new pre-release 2.41.1a7 (aws-powertools#4792) chore(deps-dev): bump cfn-lint from 1.8.1 to 1.8.2 (aws-powertools#4788) chore(deps-dev): bump mypy-boto3-secretsmanager from 1.34.128 to 1.34.145 in the boto-typing group (aws-powertools#4787) chore(deps): bump aws-actions/closed-issue-message from 8b6324312193476beecf11f8e8539d73a3553bf4 to 80edfc24bdf1283400eb04d20a8a605ae8bf7d48 (aws-powertools#4786) chore(ci): changelog rebuild (aws-powertools#4784) fix(idempotency): ensure in_progress_expiration field is set on Lambda timeout. (aws-powertools#4773)
2 parents 66db87a + c77869a commit 82ea438

File tree

9 files changed

+70
-54
lines changed

9 files changed

+70
-54
lines changed

Diff for: .github/workflows/on_closed_issues.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
permissions:
2222
issues: write # comment on issues
2323
steps:
24-
- uses: aws-actions/closed-issue-message@8b6324312193476beecf11f8e8539d73a3553bf4
24+
- uses: aws-actions/closed-issue-message@80edfc24bdf1283400eb04d20a8a605ae8bf7d48
2525
with:
2626
repo-token: "${{ secrets.GITHUB_TOKEN }}"
2727
message: |

Diff for: .github/workflows/publish_v2_layer.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -117,14 +117,14 @@ jobs:
117117
pip install --require-hashes -r requirements.txt
118118
119119
- name: Set up QEMU
120-
uses: docker/setup-qemu-action@5927c834f5b4fdf503fca6f4c7eccda82949e1ee # v2.0.0
120+
uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v2.0.0
121121
with:
122122
platforms: arm64
123123
# NOTE: we need QEMU to build Layer against a different architecture (e.g., ARM)
124124

125125
- name: Set up Docker Buildx
126126
id: builder
127-
uses: docker/setup-buildx-action@4fd812986e6c8c2a69e18311145f9371337f27d4 # v3.4.0
127+
uses: docker/setup-buildx-action@aa33708b10e362ff993539393ff100fa93ed6a27 # v3.5.0
128128
with:
129129
install: true
130130
driver: docker

Diff for: CHANGELOG.md

+20-8
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,43 @@
44
<a name="unreleased"></a>
55
# Unreleased
66

7+
## Bug Fixes
8+
9+
* **idempotency:** ensure in_progress_expiration field is set on Lambda timeout. ([#4773](https://github.com/aws-powertools/powertools-lambda-python/issues/4773))
10+
711
## Features
812

913
* **event_handler:** add OpenAPI extensions ([#4703](https://github.com/aws-powertools/powertools-lambda-python/issues/4703))
1014

1115
## Maintenance
1216

13-
* **ci:** new pre-release 2.41.1a3 ([#4766](https://github.com/aws-powertools/powertools-lambda-python/issues/4766))
1417
* **ci:** new pre-release 2.41.1a4 ([#4772](https://github.com/aws-powertools/powertools-lambda-python/issues/4772))
15-
* **ci:** new pre-release 2.41.1a0 ([#4749](https://github.com/aws-powertools/powertools-lambda-python/issues/4749))
1618
* **ci:** new pre-release 2.41.1a1 ([#4756](https://github.com/aws-powertools/powertools-lambda-python/issues/4756))
17-
* **ci:** new pre-release 2.41.1a2 ([#4758](https://github.com/aws-powertools/powertools-lambda-python/issues/4758))
19+
* **ci:** new pre-release 2.41.1a6 ([#4783](https://github.com/aws-powertools/powertools-lambda-python/issues/4783))
20+
* **ci:** new pre-release 2.41.1a0 ([#4749](https://github.com/aws-powertools/powertools-lambda-python/issues/4749))
21+
* **ci:** new pre-release 2.41.1a3 ([#4766](https://github.com/aws-powertools/powertools-lambda-python/issues/4766))
1822
* **ci:** new pre-release 2.41.1a5 ([#4777](https://github.com/aws-powertools/powertools-lambda-python/issues/4777))
23+
* **ci:** new pre-release 2.41.1a2 ([#4758](https://github.com/aws-powertools/powertools-lambda-python/issues/4758))
1924
* **deps:** bump actions/dependency-review-action from 4.3.3 to 4.3.4 ([#4753](https://github.com/aws-powertools/powertools-lambda-python/issues/4753))
2025
* **deps:** bump datadog-lambda from 6.96.0 to 6.97.0 ([#4770](https://github.com/aws-powertools/powertools-lambda-python/issues/4770))
2126
* **deps:** bump the layer-balancer group in /layer/scripts/layer-balancer with 3 updates ([#4745](https://github.com/aws-powertools/powertools-lambda-python/issues/4745))
27+
* **deps:** bump aws-actions/closed-issue-message from 8b6324312193476beecf11f8e8539d73a3553bf4 to 80edfc24bdf1283400eb04d20a8a605ae8bf7d48 ([#4786](https://github.com/aws-powertools/powertools-lambda-python/issues/4786))
28+
* **deps:** bump github.com/aws/aws-sdk-go-v2/config from 1.27.26 to 1.27.27 in /layer/scripts/layer-balancer in the layer-balancer group ([#4779](https://github.com/aws-powertools/powertools-lambda-python/issues/4779))
29+
* **deps-dev:** bump aws-cdk from 2.148.0 to 2.149.0 ([#4765](https://github.com/aws-powertools/powertools-lambda-python/issues/4765))
30+
* **deps-dev:** bump sentry-sdk from 2.9.0 to 2.10.0 ([#4763](https://github.com/aws-powertools/powertools-lambda-python/issues/4763))
31+
* **deps-dev:** bump cdklabs-generative-ai-cdk-constructs from 0.1.207 to 0.1.211 ([#4760](https://github.com/aws-powertools/powertools-lambda-python/issues/4760))
32+
* **deps-dev:** bump ruff from 0.5.1 to 0.5.2 ([#4762](https://github.com/aws-powertools/powertools-lambda-python/issues/4762))
33+
* **deps-dev:** bump mkdocs-material from 9.5.28 to 9.5.29 ([#4764](https://github.com/aws-powertools/powertools-lambda-python/issues/4764))
2234
* **deps-dev:** bump cdklabs-generative-ai-cdk-constructs from 0.1.211 to 0.1.212 ([#4769](https://github.com/aws-powertools/powertools-lambda-python/issues/4769))
2335
* **deps-dev:** bump cfn-lint from 1.6.0 to 1.6.1 ([#4751](https://github.com/aws-powertools/powertools-lambda-python/issues/4751))
24-
* **deps-dev:** bump mkdocs-material from 9.5.28 to 9.5.29 ([#4764](https://github.com/aws-powertools/powertools-lambda-python/issues/4764))
25-
* **deps-dev:** bump aws-cdk from 2.148.0 to 2.149.0 ([#4765](https://github.com/aws-powertools/powertools-lambda-python/issues/4765))
36+
* **deps-dev:** bump pytest-asyncio from 0.23.7 to 0.23.8 ([#4776](https://github.com/aws-powertools/powertools-lambda-python/issues/4776))
37+
* **deps-dev:** bump cfn-lint from 1.6.1 to 1.8.1 ([#4780](https://github.com/aws-powertools/powertools-lambda-python/issues/4780))
2638
* **deps-dev:** bump cfn-lint from 1.5.3 to 1.6.0 ([#4747](https://github.com/aws-powertools/powertools-lambda-python/issues/4747))
2739
* **deps-dev:** bump coverage from 7.5.4 to 7.6.0 ([#4746](https://github.com/aws-powertools/powertools-lambda-python/issues/4746))
2840
* **deps-dev:** bump cdklabs-generative-ai-cdk-constructs from 0.1.206 to 0.1.207 ([#4748](https://github.com/aws-powertools/powertools-lambda-python/issues/4748))
29-
* **deps-dev:** bump ruff from 0.5.1 to 0.5.2 ([#4762](https://github.com/aws-powertools/powertools-lambda-python/issues/4762))
30-
* **deps-dev:** bump cdklabs-generative-ai-cdk-constructs from 0.1.207 to 0.1.211 ([#4760](https://github.com/aws-powertools/powertools-lambda-python/issues/4760))
31-
* **deps-dev:** bump sentry-sdk from 2.9.0 to 2.10.0 ([#4763](https://github.com/aws-powertools/powertools-lambda-python/issues/4763))
41+
* **deps-dev:** bump ruff from 0.5.2 to 0.5.3 ([#4781](https://github.com/aws-powertools/powertools-lambda-python/issues/4781))
42+
* **deps-dev:** bump mypy-boto3-secretsmanager from 1.34.128 to 1.34.145 in the boto-typing group ([#4787](https://github.com/aws-powertools/powertools-lambda-python/issues/4787))
43+
* **deps-dev:** bump cfn-lint from 1.8.1 to 1.8.2 ([#4788](https://github.com/aws-powertools/powertools-lambda-python/issues/4788))
3244

3345

3446
<a name="v2.41.0"></a>

Diff for: aws_lambda_powertools/logging/utils.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from .logger import Logger
55

66
PACKAGE_LOGGER = "aws_lambda_powertools"
7+
LOGGER = logging.getLogger(__name__)
78

89

910
def copy_config_to_registered_loggers(
@@ -56,7 +57,7 @@ def copy_config_to_registered_loggers(
5657
loggers = exclude
5758
filter_func = _exclude_registered_loggers_filter
5859

59-
registered_loggers = _find_registered_loggers(source_logger, loggers, filter_func)
60+
registered_loggers = _find_registered_loggers(loggers=loggers, filter_func=filter_func)
6061
for logger in registered_loggers:
6162
_configure_logger(source_logger=source_logger, logger=logger, level=level, ignore_log_level=ignore_log_level)
6263

@@ -72,13 +73,12 @@ def _exclude_registered_loggers_filter(loggers: Set[str]) -> List[logging.Logger
7273

7374

7475
def _find_registered_loggers(
75-
source_logger: Logger,
7676
loggers: Set[str],
7777
filter_func: Callable[[Set[str]], List[logging.Logger]],
7878
) -> List[logging.Logger]:
7979
"""Filter root loggers based on provided parameters."""
8080
root_loggers = filter_func(loggers)
81-
source_logger.debug(f"Filtered root loggers: {root_loggers}")
81+
LOGGER.debug(f"Filtered root loggers: {root_loggers}")
8282
return root_loggers
8383

8484

@@ -91,12 +91,12 @@ def _configure_logger(
9191
# customers may not want to copy the same log level from Logger to discovered loggers
9292
if not ignore_log_level:
9393
logger.setLevel(level)
94-
source_logger.debug(f"Logger {logger} reconfigured to use logging level {level}")
94+
LOGGER.debug(f"Logger {logger} reconfigured to use logging level {level}")
9595

9696
logger.handlers = []
9797
logger.propagate = False # ensure we don't propagate logs to existing loggers, #1073
9898
source_logger.append_keys(name="%(name)s") # include logger name, see #1267
9999

100100
for source_handler in source_logger.handlers:
101101
logger.addHandler(source_handler)
102-
source_logger.debug(f"Logger {logger} reconfigured to use {source_handler}")
102+
LOGGER.debug(f"Logger {logger} reconfigured to use {source_handler}")

Diff for: aws_lambda_powertools/shared/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
"""Exposes version constant to avoid circular dependencies."""
22

3-
VERSION = "2.41.1a6"
3+
VERSION = "2.41.1a7"

Diff for: aws_lambda_powertools/utilities/idempotency/persistence/base.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,10 @@ def save_inprogress(self, data: Dict[str, Any], remaining_time_in_millis: Option
301301
payload_hash=self._get_hashed_payload(data=data),
302302
)
303303

304-
if remaining_time_in_millis:
304+
# When Lambda kills the container after timeout, the remaining_time_in_millis is 0, which is considered False.
305+
# Therefore, we need to check if remaining_time_in_millis is not None (>=0) to handle this case.
306+
# See: https://github.com/aws-powertools/powertools-lambda-python/issues/4759
307+
if remaining_time_in_millis is not None:
305308
now = datetime.datetime.now()
306309
period = datetime.timedelta(milliseconds=remaining_time_in_millis)
307310
timestamp = (now + period).timestamp()

Diff for: poetry.lock

+31-31
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)