https://developers.google.com/appengine/docs/java/datastore/transactionsにある Google App Engine のドキュメントには、次のように記載されています。
注: 非常にまれなケースですが、トランザクションがタイムアウトまたは内部エラー例外を返した場合でも、トランザクションは完全にコミットされます。このため、可能な限りトランザクションを冪等にするのが最善です。
トランザクションがべき等でない場合、コミット例外から回復する適切な方法は何ですか?