mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-09-18 08:54:55 +08:00
fix(release): 收紧分发热路径与事务边界
This commit is contained in:
@@ -38,7 +38,7 @@
|
||||
crowdin-textunit-queue.json # Crowdin worker 离线输入队列
|
||||
official-sync-snapshot.json # 常在 active root / current 下
|
||||
official-launcher-bootstrap.json # 官方 launcher 引导链版本化产物
|
||||
official-cas-reuse-references.json # 当前 release 获取的 CAS 引用
|
||||
official-cas-reuse-references.json # 当前 release 获取的 CAS 引用和 ownership_id
|
||||
prod-clientpatch.bluearchiveyostar.com/
|
||||
<root_token>/
|
||||
TableBundles/
|
||||
@@ -110,7 +110,10 @@ manifest 做轻量选择,HTTP 热路径不重新执行完整 release audit;l
|
||||
|
||||
localized publish/rollback 先取得 `.localized-release.lock`,并在 output root 下记录
|
||||
`.localized-transaction.json`。current、version-state 和 version 目录的切换按日志阶段
|
||||
推进;下一次写操作会先恢复或完成未决事务,避免跨进程并发写入和中断后留下半发布状态。
|
||||
推进;publish 只有最终 `verified` phase 才能 roll-forward,下一次写操作会先恢复或完成
|
||||
未决事务,避免跨进程并发写入和中断后留下半发布状态。`release.cleanup execute` 先取得
|
||||
同一 official `.official-sync.lock`,再按固定顺序取得 localized 锁并在持锁状态下重建
|
||||
计划;dry-run 不占用 official mutation lock。
|
||||
|
||||
`release.cleanup` 先生成 dry-run 计划和 `plan_id`,执行时重新计算并比对计划。current、
|
||||
rollback previous、active/in-progress、localized source official、state/manifest/CAS
|
||||
@@ -132,9 +135,12 @@ reference、无法确认 ownership 的对象均保留;只删除重新验证后
|
||||
跨文件系统时复制到 staging 内的临时文件并原子 rename,旧 `versions/<id>` 目录
|
||||
保持不可变。
|
||||
|
||||
从 CAS 物化资源时,`official-cas-reuse-references.json` 记录每个获取的对象引用,
|
||||
文件带版本字段且允许重复 object ID。孤儿 staging 或显式 release 清理必须先按
|
||||
清单减少 CAS 引用,再删除目录;CAS 对象损坏、缺失或元数据不一致时只产生诊断,
|
||||
从 CAS 物化资源时,`official-cas-reuse-references.json` 首次创建时生成并持久化
|
||||
`ownership_id`,记录每个获取的对象引用;文件带版本字段且允许重复 object ID。
|
||||
没有 `ownership_id` 的旧清单保留 legacy ownership key,不在读取时随机迁移。
|
||||
孤儿 staging 或显式 release 清理必须先按
|
||||
清单减少 CAS 引用,再删除目录;cleanup execute 与官方同步共用
|
||||
`.official-sync.lock`,localized cleanup 使用 `.localized-release.lock`。CAS 对象损坏、缺失或元数据不一致时只产生诊断,
|
||||
回退网络下载,不发布未经校验的文件。
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user