Skip to content

Commit 564d2bd

Browse files
committed
fix(chunk): 更新Get方法中的chunkSizes检查逻辑以处理缺失的块
1 parent d8fb575 commit 564d2bd

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

drivers/chunk/driver.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ func (d *Chunk) Get(ctx context.Context, path string) (model.Obj, error) {
7777
return nil, err
7878
}
7979
var totalSize int64 = 0
80+
// 默认第一个是-1
8081
chunkSizes := []int64{-1}
8182
h := make(map[*utils.HashType]string)
8283
var first model.Obj
@@ -113,8 +114,12 @@ func (d *Chunk) Get(ctx context.Context, path string) (model.Obj, error) {
113114
chunkSizes[idx] = o.GetSize()
114115
}
115116
}
117+
// 只需检查0到倒数第二个
116118
for i, l := 0, len(chunkSizes)-2; ; i++ {
117-
if (i == 0 && chunkSizes[i] == -1) || chunkSizes[i] == 0 {
119+
if chunkSizes[i] <= 0 {
120+
if i == 0 {
121+
return nil, fmt.Errorf("no chunks found")
122+
}
118123
return nil, fmt.Errorf("chunk part[%d] are missing", i)
119124
}
120125
if i >= l {

0 commit comments

Comments
 (0)