4 ms·
The question is transaction boundaries try unrolling a change that had to touch state of several services and one of the requests failed
by qaq 8y ago
The question is transaction boundaries try unrolling a change that had to touch state of several services and one of the requests failed
- alexk 8y agoRight, because we write against DynamoDB/Etcd transactions were a non-option anyways, and we only have CompareAndSwap as a locking primitive https://github.com/gravitational/teleport/blob/master/lib/backend/backend.go#L46 https://github.com/gravitational/teleport/blob/master/lib/ba... In addition to that Golang's context https://golang.org/pkg/context/ https://golang.org/pkg/context/ is used to broadcast the failure of a distributed operation and release associated resources with it
- Thaxll 8y agoDynamoDB has transactions now. https://aws.amazon.com/blogs/aws/new-amazon-dynamodb-transactions/ https://aws.amazon.com/blogs/aws/new-amazon-dynamodb-transac...
- alexk 8y agoIt's probably closer to multi-writes though, than transactions in a classic sense, but good improvement nevertheless.
- Thaxll 8y agoIt's a real transaction like MySQL or PG. https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/transactions.html https://docs.aws.amazon.com/amazondynamodb/latest/developerg...