0

The question is how does dynamo DB handles acid transactions if some transactions are assosiated with dynamo DB streams which cause further write to dynamo db tables.

Is it gonna revert those writes occured using dynamo DB streams, or leave them unchanged and if it does revert those changes how does it work, the following behaviour could not be found in any official aws documentation.

for example consider the situation where there are total 3 transactions that needs to be atomic A, B and C but when A execute it use dynamoDB streams which execute a lambda function which makes a D transaction which makes modifications on some other dynamoDB table, now if the transaction fails how would it revert the modifications done by transaction D.

so, I'm expecting some expert would point me out in the right direction.

thanks

varnit

varnit
  • 1,859
  • 10
  • 21
  • 1
    This question would be best with an [example](https://stackoverflow.com/help/mcve) demonstrating the situation. On that note, have you considered trying to experiment with this yourself to see if you can find an answer? – marekful Feb 01 '19 at 16:15
  • thanks @marekful, i have updated the question with an example and i haven't experimented yet, just wanted to know experts opinion first – varnit Feb 01 '19 at 16:20
  • *"there are total 3 transactions that needs to be atomic A, B and C"* Do you mean all three of them, together? Transactions are not atomic in groups. Atomicity is about *individual* transactions. – Michael - sqlbot Feb 01 '19 at 19:27
  • I would be extremely surprised if any streams activity would be subject to a transaction that triggered the stream event. You should test it yourself - but my instinct is to say that the transaction and the subsequent activity are considered separate transactions. – Mike Dinescu Feb 02 '19 at 21:14

0 Answers0