Enum TransactionFailure
- Namespace
- DynaSharp
- Assembly
- DynaSharp.dll
Why one action of a cancelled transaction did not take effect, as a value: ReasonFor(TransactMarker). Each member says whether repeating the same transaction can pass, because some causes go away by themselves and others never do.
public enum TransactionFailure
Fields
Unknown = 0A code this library does not know, which Code shows, or no reason at all for the action. Whether a retry can pass is not known.
None = 1The action caused no problem. It did not take effect, because another one failed. Look at the others: the transaction was cancelled because of them.
ConditionalCheckFailed = 2The condition of the action did not hold. Will not pass on a retry: the data must change first, so read it, or use ItemFor(TransactMarker), and decide anew.
ItemCollectionSizeLimitExceeded = 3The item collection of a table with a local secondary index would exceed 10 GB. Will not pass on a retry: data must go first.
TransactionConflict = 4An item takes part in another transaction or request right now. May pass on a retry after a short wait: the conflict is over when the other one is.
Throttled = 5DynamoDB did not have the capacity for the action (the codes
ProvisionedThroughputExceededandThrottlingError). May pass on a retry with a backoff, once the table has capacity again.ValidationError = 6The action is invalid, for example an expression that does not parse or a key that does not fit the table. Will not pass on a retry: the request must change.
Remarks
When adding a member: map its code in TransactionCanceledException, say whether it passes later for IsTransient, and add it to StubResponse.Reason in DynaSharp.Testing. A code this library does not know reads as Unknown.