Skip to content

Conversation

@scalalang2
Copy link
Contributor

@scalalang2 scalalang2 commented Jul 18, 2025

Microsoft Reviewers: Open in CodeFlow

Background

Currently users can use distributed transaction in DynamoDB by using StateStorageBridge, but it aggregates all pending state into a single entry, Since DynamoDB limits the size of each entry upto 400 KB. It's not applicable for larger transactions. the data must be split into multiple entires, similar to the method used with Orleans.Transactions.AzureStorage

resolve #9150

@scalalang2 scalalang2 changed the title [Feature] [WIP] DynamoDB Transactional Storage Provider [Feature] DynamoDB Transactional Storage Provider Jul 19, 2025
@scalalang2
Copy link
Contributor Author

We are a team working on an unreleased project from one of South Korea's largest game development companies.
This provider has functioned properly during both internal testing and a pre-release test on Steam.

I'd appreciate that if the core team could review the code.

@scalalang2
Copy link
Contributor Author

I noticed that the transaction in DynamoDB is quite slow compared to individual DeleteItem, PutItem and UpdateItem.
Can I replace the the transactional operation to individual calls? @ReubenBond

The comment here describes that it doesn't need to operate atomically.

assemble all storage operations into a single batch
these operations must commit in sequence, but not necessarily atomically
so we can split this up if needed

image

@scalalang2 scalalang2 force-pushed the dynamodb-transactional-storage branch from 7bbccdf to 4ae88c1 Compare July 22, 2025 05:47
@scalalang2 scalalang2 force-pushed the dynamodb-transactional-storage branch from 4ae88c1 to 1ef18cd Compare July 22, 2025 05:48
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.

Support Orleans.Transactions.DynamoDB.

1 participant