Skip to content

feat(idempotency): leverage new DynamoDB Failed conditional writes behavior with ReturnValuesOnConditionCheckFailure #3446

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

Merged
Changes from 1 commit
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
92d21ec
feat: add ReturnValuesOnConditionCheckFailure to DynamoDB idempotency…
Dec 4, 2023
7a8267f
Merge branch 'develop' into feat/dynamodb-failed-conditional-writes
Dec 4, 2023
bd92f33
feat: add ReturnValuesOnConditionCheckFailure to DynamoDB idempotency…
Dec 4, 2023
0e01865
Merge branch 'develop' into feat/dynamodb-failed-conditional-writes
leandrodamascena Jan 4, 2024
3a7e60a
Merge branch 'develop' into feat/dynamodb-failed-conditional-writes
leandrodamascena Jan 10, 2024
5727c48
Merge branch 'develop' into feat/dynamodb-failed-conditional-writes
leandrodamascena Jan 12, 2024
dd3707d
feat: add ReturnValuesOnConditionCheckFailure to DynamoDB idempotency…
Jan 14, 2024
6a67bde
Merge branch 'develop' into feat/dynamodb-failed-conditional-writes
leandrodamascena Jan 15, 2024
887e2e9
Improving code readability
leandrodamascena Jan 15, 2024
88ed83c
Reverting function
leandrodamascena Jan 15, 2024
d688322
Merge branch 'develop' into feat/dynamodb-failed-conditional-writes
leandrodamascena Jan 15, 2024
7cb1b2c
Adding comments about some logic decisions
leandrodamascena Jan 15, 2024
efe99a2
Merge branch 'develop' into feat/dynamodb-failed-conditional-writes
leandrodamascena Jan 15, 2024
d2798ad
Use DynamoDBPersistenceLayer passed in for test_idempotent_lambda_exp…
dastra Jan 16, 2024
a9a598c
Adding docs
leandrodamascena Jan 17, 2024
296e9ee
wording
Jan 17, 2024
cb94a14
Merge branch 'develop' into feat/dynamodb-failed-conditional-writes
leandrodamascena Jan 17, 2024
7c66456
Merge branch 'develop' into feat/dynamodb-failed-conditional-writes
leandrodamascena Jan 17, 2024
deca935
Merge branch 'develop' into feat/dynamodb-failed-conditional-writes
leandrodamascena Jan 18, 2024
488fc01
Adressing Ruben's feedback
leandrodamascena Jan 18, 2024
1d6d944
Merge branch 'develop' into feat/dynamodb-failed-conditional-writes
leandrodamascena Jan 18, 2024
7ec8343
Merge branch 'develop' into feat/dynamodb-failed-conditional-writes
leandrodamascena Jan 19, 2024
85b829c
Adressing Ruben's feedback
leandrodamascena Jan 19, 2024
19e042e
Merge branch 'develop' into feat/dynamodb-failed-conditional-writes
leandrodamascena Jan 19, 2024
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
Prev Previous commit
Next Next commit
Adressing Ruben's feedback
  • Loading branch information
leandrodamascena committed Jan 19, 2024
commit 85b829c26d0c5d95c7767b4dca756df64d52e370
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ def __init__(

# Use DynamoDB's ReturnValuesOnConditionCheckFailure to optimize put and get operations and optimize costs.
# This feature is supported in boto3 versions 1.26.164 and later.
self.support_return_on_check_failure = (
self.return_value_on_condition = (
{"ReturnValuesOnConditionCheckFailure": "ALL_OLD"}
if self.boto3_supports_condition_check_failure(boto3.__version__)
else {}
Expand Down Expand Up @@ -246,7 +246,7 @@ def _put_record(self, data_record: DataRecord) -> None:
":now_in_millis": {"N": str(int(now.timestamp() * 1000))},
":inprogress": {"S": STATUS_CONSTANTS["INPROGRESS"]},
},
**self.support_return_on_check_failure, # type: ignore
**self.return_value_on_condition, # type: ignore
)
except ClientError as exc:
error_code = exc.response.get("Error", {}).get("Code")
Expand Down