aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--weed/filer2/filechunks.go20
1 files changed, 12 insertions, 8 deletions
diff --git a/weed/filer2/filechunks.go b/weed/filer2/filechunks.go
index 473aeb54e..538d10afa 100644
--- a/weed/filer2/filechunks.go
+++ b/weed/filer2/filechunks.go
@@ -96,10 +96,10 @@ func ViewFromChunks(chunks []*filer_pb.FileChunk, offset int64, size int) (views
func logPrintf(name string, visibles []*visibleInterval) {
/*
- log.Printf("%s len %d", name, len(visibles))
- for _, v := range visibles {
- log.Printf("%s: => %+v", name, v)
- }
+ log.Printf("%s len %d", name, len(visibles))
+ for _, v := range visibles {
+ log.Printf("%s: => %+v", name, v)
+ }
*/
}
@@ -151,14 +151,17 @@ func mergeIntoVisibles(visibles, newVisibles []*visibleInterval, chunk *filer_pb
}
newVisibles = append(newVisibles, newV)
- for i := len(newVisibles) - 1; i > 0; i-- {
- if newV.start < newVisibles[i-1].start {
+ logPrintf(" append", newVisibles)
+
+ for i := len(newVisibles) - 1; i >= 0; i-- {
+ if i > 0 && newV.start < newVisibles[i-1].start {
newVisibles[i] = newVisibles[i-1]
} else {
newVisibles[i] = newV
break
}
}
+ logPrintf(" sorted", newVisibles)
return newVisibles
}
@@ -175,9 +178,10 @@ func nonOverlappingVisibleIntervals(chunks []*filer_pb.FileChunk) (visibles []*v
t := visibles[:0]
visibles = newVislbles
newVislbles = t
- }
- logPrintf("visibles", visibles)
+ logPrintf("add", visibles)
+
+ }
return
}