wasi-keyvalue
wasi-keyvalue copied to clipboard
Test-and-set and other atomic operations?
I am working on a project which needs to access a key-value store from a Wasi component, but I need an atomic test-and-set operation for my application. Just as an example, the native code in my project currently uses DynamoDB's TransactWriteItems to implement TAS on a single value in the database by guarding on a value at the start of the transaction.
Test-and-set is just one of a large number of atomic operations offered across the field of key-value stores. The only atomic operation provided by this interface at this time is atomic increment. I expect that most key-value store users will end up needing some more atomic primitives than just increment - TAS or some other primitive for a fallible transaction is required for a broad range of applications. What are the plans in this proposal for serving those needs?