fix(library): 封存读资源失败带上资源行与底层原因
build / build (push) Successful in 1m18s

真实封存卡在 `read library resource` 时没有任何可判断信息:对象缺失、桶写错、
宿主机解析不到端点都会走到同一个字符串。现在错误带资源行 id 与底层原因
(不含凭据),本轮就是用它在候选栈定位到"源对象被上一次 B02 演练删掉后没真正写回"。
This commit is contained in:
姚章浩
2026-10-29 13:32:55 +08:00
parent 6ed06357f9
commit c14dd01f08
2 changed files with 7 additions and 1 deletions
+3
View File
@@ -38,6 +38,9 @@
### Fixed
- **封存读资源失败只剩一句 `read library resource`**:对象缺失、桶错、端点解析不到
都会走到同一个字符串,真实封存直接卡在这里无法判断方向。现在带上资源行 id 与底层
原因(`read library resource <id>: <cause>`),不含凭据。
- **正式 release-worker 启动失败无法定位**:配置里的目标库指向不存在的主机时,
日志只有一句 `connect release target database`。现在错误里带库端点
(`host:port/db`,去口令)与路由标识,并保留底层原因;原因文本先经
@@ -5,6 +5,7 @@ import (
"context"
"encoding/json"
"errors"
"fmt"
"strings"
"time"
@@ -86,7 +87,9 @@ func ArchiveLibraryCandidate(ctx context.Context, archive *librarysnapshot.Archi
}
reader, err := objects.Open(ctx, resource.Provider, resource.PhysicalPath)
if err != nil {
return "", errors.New("read library resource")
// 只写"read library resource"会让整条封存停在无信息的失败上:带上行 id
// 与底层原因(不含凭据),才能判断是对象缺失、桶错还是端点解析不到。
return "", fmt.Errorf("read library resource %s: %w", resource.ID, err)
}
part, readErr := archive.Put(reader)
closeErr := reader.Close()