You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase云函数Admin SDK下Firestore事务遇并发编辑未重试是正常现象吗?

Firestore Admin SDK 事务重试行为说明

你观测到的现象属于预期内的正确行为,Firebase官方文档描述不存在错误,二者差异来自适用的SDK场景不同。

  • 官方文档提到的「并发编辑时自动重运行整个事务」,是客户端Web/移动端SDK的默认策略:客户端网络环境不稳定,单次冲突处理成本高,默认自动重试可以降低开发者的异常处理负担。
  • Cloud Functions 中使用的 Admin SDK 默认不会自动重试事务:服务端场景下如果开启自动重试,冲突场景很容易产生过高的性能开销,甚至出现死循环风险,因此框架默认将重试控制权交给开发者,需要自行捕获事务失败异常实现重试逻辑。

你测试过程中,事务提交时会校验你此前读取的cars集合是否发生变更,检测到新增car文档的变更后,事务会直接终止,因此delete操作没有执行,也不会自动重运行打印第二次Running transaction日志,完全符合Admin SDK的设计逻辑。

如果需要在Admin SDK场景下实现事务重试,可以自行封装重试逻辑,例如设置最多重试5次,每次间隔固定时长后重新调用runTransaction方法即可。


内容的提问来源于stack exchange,提问作者Johnny Oshika

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 02:36:08