0

在以下场景中查找数据存储行为的详细说明时遇到问题。

  1. 开始交易
  2. 进行了一些更改
  3. 另一个独立的事务是使用 ndb.TransactionOptions.INDEPENDENT 传播级别启动的。它的目的是增加一个分片计数器。我需要它作为嵌套事务,因为我将有很多计数器,并且只能在一个事务中使用 5 个实体组
  4. 嵌套事务提交成功
  5. 主事务正在尝试提交,但失败
  6. 重试后主要事务正在提交

我想嵌套事务只运行一次,但我无法验证这个假设。有人知道它是如何工作的吗?

4

1 回答 1

2

放入一些日志语句以查看行为。如果步骤 3-4 由主事务的代码发起,则每次重试主事务时都会启动独立事务。这就是为什么它被称为独立的,而不是嵌套的。

于 2012-12-01T15:38:11.057 回答