Последняя документация здесь http://code.google.com/appengine/docs/java/datastore/transactions.html гласит: «Если ваше приложение получает исключение при отправке транзакции, это не всегда означает, что транзакция завершилась неудачей. Вы можете получить исключения DatastoreTimeoutException, ConcurrentModificationException или DatastoreFailureException в тех случаях, когдатранзакции были зафиксированы и в конечном итоге будут успешно применены. По возможности сделайте свои транзакции хранилища данных идемпотентными, чтобы при повторении транзакции конечный результат был таким же. "
- Как это возможнознать, была ли транзакция успешной или нет?
- Что я собираюсь делать после перехвата ConcurrentModificationException?Как узнать, нужно ли мне повторить попытку?
- Как бы вы порекомендовали сделать, например, платежные транзакции идемпотентно, не зная, была ли она успешной?