title: Mysterious TransactionConflict in TransactionCanceledException
body: <p>Using <a href="https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#transactWriteItems-property" rel="noreferrer">transactWriteItems</a> in the aws-sdk (js) we get a <a href="https://docs.amazonaws.cn/en_us/amazondynamodb/latest/APIReference/API_TransactGetItems.html#API_TransactGetItems_Errors" rel="noreferrer">TransactionCanceledException</a>. The reason within that Exception is given as <strong>TransactionConflict</strong>. Sometimes all actions in the transaction fail, sometimes only a few or only one. We do run multiple transactions in parallel that can operate on the same items. The documentation doesn't mention this particular error. Possible reason excerpt:</p>
  
  <blockquote>
    <ol>
    <li>A condition in one of the condition expressions is not met.</li>
    <li>A table in the TransactWriteItems request is in a different account or
    region.</li>
    <li>More than one action in the TransactWriteItems operation targets the
    same item.</li>
    <li>There is insufficient provisioned capacity for the transaction to be
    completed.</li>
    <li>An item size becomes too large (larger than 400 KB), or a local
    secondary index (LSI) becomes too large, or a similar validation error
    occurs because of changes made by the transaction.</li>
    <li>There is a user error, such as an invalid data format.</li>
    </ol>
  </blockquote>
  
  <p>None of these apply and when retrying the transaction it seems to eventually work. Anyone knows about this exception? I can't find anything documented.</p>