mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-09-18 07:24:55 +08:00
fix(release): 收紧分发热路径与事务边界
This commit is contained in:
@@ -126,11 +126,15 @@ rollback 与 cleanup 保持独立;缺少 generic manifest 的旧 localized rel
|
||||
明确标记 `legacy`/`unknown`,不会被自动重写。
|
||||
|
||||
本轮 P1 一致性修复已完成:CAS repository 的 store/get/reference/GC 使用跨进程操作锁,
|
||||
release-local CAS 引用通过 durable `(release, ordinal)` ownership ledger 幂等释放;官方
|
||||
历史复用只对不可变文件使用 hard link,`translation-tasks.sqlite` 及 WAL/SHM 始终独立
|
||||
复制;localized output 使用单写者锁和事务日志恢复 publish/rollback,并在发布时写入
|
||||
实际 localized bytes/BLAKE3 的 distribution manifest。分发读取只使用轻量发布 metadata,
|
||||
保留 path ownership、symlink 和文件完整性检查。P2 尚未由本轮处理:ResourceRepository
|
||||
release-local CAS 引用通过持久化 `ownership_id + ordinal` ledger 幂等释放;没有
|
||||
`ownership_id` 的旧清单走明确 legacy cleanup path,不随机迁移 ownership。官方历史复用
|
||||
只对不可变文件使用 hard link,`translation-tasks.sqlite` 及 WAL/SHM 始终独立复制;
|
||||
localized output 使用单写者锁和事务日志恢复 publish/rollback,publish 只有最终
|
||||
`verified` phase 才能 roll-forward,并在发布时写入实际 localized bytes/BLAKE3 的
|
||||
distribution manifest。`release.distribution(destination=...)` 是单条 lookup,返回
|
||||
exactly one entry;分发读取只使用轻量发布 metadata,保留 path ownership、symlink 和
|
||||
文件完整性检查;`release.cleanup execute` 与 official sync 共用 `.official-sync.lock`。
|
||||
P2 尚未由本轮处理:ResourceRepository
|
||||
更完整的查询/权限/损坏恢复、模糊 TM、bat.sock peer credential/perms、FFI 生命周期、
|
||||
资源大小/限额与更强的持久化 fsync 语义仍按后续专项推进。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user