已在 PR #3161(已合并到 main)中修复:`bulkWrite` 向 `writeBatch`/`writeOne` 传入 `attempt` 计数;seed 按 `externalId`、import 按 `matchFields` 在 `attempt > 1` 时回查已存在行、只补插缺失行——commit 后响应丢失的重试不再整批重复插入。纯 insert 模式(无自然键)按文档保持 at-least-once。回归测试见 `packages/metadata-protocol/src/seed-loader-retry.test.ts`、`packages/rest/src/import-runner-idempotency.test.ts`。 —— 原始 issue 内容 —— ## 问题 `bulkWrite` 的 transient 重试是 **at-least-once 且无幂等手段**:当驱动实际已提交、但成功响应在网络上丢失(turso 类 HTTP 驱动的真实故障形态——错误发生在 commit 之后)时,重试会把**整批再插一遍**。
Activity
fix: harden the bulk-write path — retries, idempotency, contracts, su…
test(runtime): real-SqlDriver regression for the bulk-write hardening (…
test(runtime): real-SqlDriver regression for the bulk-write hardening (…
test(runtime): real-SqlDriver regression for the bulk-write hardening (…