真实封存卡在 `read library resource` 时没有任何可判断信息:对象缺失、桶写错、 宿主机解析不到端点都会走到同一个字符串。现在错误带资源行 id 与底层原因 (不含凭据),本轮就是用它在候选栈定位到"源对象被上一次 B02 演练删掉后没真正写回"。
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user