服务器全量 sync 在 batch 180/260 撞远程阿里云 DW 瞬时错误 "Response from the Engine was empty" → 整跑 failed(数据已提交 180 批, 锁正常释放,cursor 因 status=failed 被过滤不误推进 — 都按设计работает)。 根因:一次全量 260 批 × 6 query = 1560 次远程查询,只要一次网络抖动就挂。 修复:queryJsonWithRetry —— 对瞬时错误(empty/timeout/reset/socket/5xx) 指数退避重试 3 次(0.5/1.5/4.5s);确定性错误(SQL/权限)不重试快速失败。 应用到 3 个热路径:listPatientPairs / loadTablesForCohort / loadAllTables。 (reversePull / 单患者 refresh 数据量小,暂不包)
| Name |
Last commit
|
Last update |
|---|---|---|
| .claude | Loading commit data... | |
| apps | Loading commit data... | |
| deploy | Loading commit data... | |
| docs | Loading commit data... | |
| packages | Loading commit data... | |
| scripts | Loading commit data... | |
| .gitignore | Loading commit data... | |
| .npmrc | Loading commit data... | |
| .prettierrc | Loading commit data... | |
| README.md | Loading commit data... | |
| docker-compose.prod.yml | Loading commit data... | |
| docker-compose.yml | Loading commit data... | |
| eslint.config.mjs | Loading commit data... | |
| liu.cjs | Loading commit data... | |
| package.json | Loading commit data... | |
| pnpm-lock.yaml | Loading commit data... | |
| pnpm-workspace.yaml | Loading commit data... | |
| tsconfig.base.json | Loading commit data... | |
| turbo.json | Loading commit data... |