【发布时间】:2019-07-21 07:00:39
【问题描述】:
如果 Firestore 事务失败,它会抛出 FirestoreException,它只会说 “由于重试次数过多,事务被取消。”
没有根本原因或任何其他线索,即使我将退休人数设置为 1。
是否有可能找到根本原因?
【问题讨论】:
-
这通常是因为您尝试修改的数据正在被其他客户端/进程在事务运行时修改。如果发生这种情况,Firestore 客户端将重试事务。但如果它反复发生,它就会放弃。除此之外,没有办法获得更多信息。
-
Firestore 无法设置事务的重试次数。在这种情况下,您实际设置了什么?
-
@DougStevenson 确实如此,至少在 Java Admin SDK 中如此。
-
感谢 cmets。抱歉,如果我不清楚,我不是要调试特定案例,而是能够以编程方式确定根本原因(至少是最明显的原因,例如文档太大)
-
Frank 指出,所有客户端处理相同文档的并行度是罪魁祸首。在不了解您正在执行的实际事务以及并行度的情况下,没有什么可说的。
标签: java firebase google-cloud-firestore