Final migration & trace I/O backfill report · 2026-08-31
Langfuse open-design
数据迁移与 Trace I/O 补齐
最终报告
Langfuse Cloud 数据经 R2 安全快照迁移至 self-hosted Langfuse。原迁移完成后发现 trace-level input/output 未随 observation 数据呈现,后续已通过独立全量流水线补齐并完成尾部修复。
迁移范围
源项目和目标项目固定;未跨项目、未扩大时间范围
数据覆盖时间
- 开始
- 2026-05-01 08:00:00
- 结束
- 2026-08-05 00:43:00
- 覆盖时长
- 95 天 16 小时 43 分钟
- 迁移路径
- Langfuse Cloud → Cloudflare R2 → Self-hosted Langfuse
业务对象
49.75 M
观测记录,归属于 2.31 M 条 Trace;另迁移 Scores、Datasets、Dataset Items 与 Runs。
数据量汇总
十进制单位:1 GB = 10⁹ bytes
传输与存储体积
已验证业务对象
完整迁移与修复过程
原迁移于 08-24 通过验证;后续 Trace I/O 补齐于 08-31 收口
迁移验证结果
完成判定不依赖“请求已接收”,而依赖目标端可读、可核对的最终状态
导入范围完整
通过全部导出记录均进入完成态,无待处理数据、无未决写入。
已识别缺口全部补齐
通过生产 ClickHouse 最终查询:全部可见;0 条仅原始行、0 条缺失、0 条未知、0 个查询错误。
字段与关联关系
通过对固定边界样本核验 ID、Trace、Parent、时间戳、类型与源 metadata;差异 0,验证过程写入 0。
Scores 与 Dataset 资源
通过逐条读取并进行语义核验:0 待确认、0 缺口、0 字段不一致;571 个 Dataset 相关资源全部可读。
重试与重复写入安全
通过补发目标 ID 唯一、请求指纹唯一、待处理 0;一次可恢复失败后从安全进度继续并正常结束。
最终完成门
通过原迁移的项目身份、Observation、Score、Dataset 资源、源快照边界、时间边界和幂等性全部闭合。
Trace I/O 固定集合闭合
通过2,312,818 条 sidecar Trace 全部 terminal;另有 1 条列表遗漏已补齐,47 条源 Trace 不存在已明确 disposition。普通 gap、冲突与待处理均为 0。
Trace I/O 尾部修补
通过1 条 export omission 与 11 条 falsy I/O 均已修复;延迟 exact readback:11/11 I/O 匹配、11/11 protected hash 不变。
已登记边界
以下项目已明确处理方式,不是待执行任务
它们引用的 Trace 不在本次固定数据范围内。为避免制造错误关联,保留为明确的不支持项;其余 6,141 条全部通过核验。
源数据中出现同一 ID 对应多个业务版本。目标端单一 ID 无法同时表达多个版本,因此按时间顺序保留首个版本并留有审计记录。
源创建时间以及 2 条人工标注的原作者身份无法由目标端公开 API 指定;Score 值、名称、类型、配置、注释和 metadata 已核验。
重复读取时对象身份和版本均稳定,变化仅发生在系统动态生成的附件/制品摘要字段。迁移以不可变 R2 快照为准,不代表数据缺失。
它们在 ID map 和 observation root 中有历史证据,但两轮 source exact 读取均不存在。为避免从 observation 伪造 trace-level I/O,明确登记为 source_trace_unavailable。
Langfuse 对已 ingestion Trace 的 name 不能可靠更新;这些记录的 I/O 和所有非 name 验收门均通过,登记为 name-only limitation,不影响 input/output 可见性。
结论:迁移及 Trace I/O 修复全部完成
固定范围的数据已从 Langfuse Cloud 安全转移到 self-hosted Langfuse;原迁移持久化缺口与后续发现的 trace-level input/output 缺失均已处理。当前无 pending、inflight、普通 verification gap、目标冲突或需要继续补发的数据。
VERIFIED