在应用引擎交易文档中,我发现了以下注释:
注意:如果您的应用在提交事务时收到异常,并不总是意味着事务失败。在事务已提交并最终将成功应用的情况下,您可能会收到 Timeout、TransactionFailedError 或 InternalError 异常。尽可能使您的数据存储事务具有幂等性,这样如果您重复事务,最终结果将是相同的。
这是相当笼统的信息,我无法找到更多详细信息。关于这个问题,我有以下问题:
- 它会影响 NDB 交易吗?NDB文档没有提到它,但我认为这种行为是继承的
- 什么会导致这种情况?
- 它多久会发生一次?
- 我可以阻止它,还是降低概率?
- 在这种情况下,事务性任务是否排队?
- 这种情况是将来会修复的错误,还是我应该习惯的功能?