fix sort bug

This commit is contained in:
Chris Lu 2018-11-18 21:59:53 -08:00
parent 469863f7f0
commit ee3fe07acf

View file

@ -96,10 +96,10 @@ func ViewFromChunks(chunks []*filer_pb.FileChunk, offset int64, size int) (views
func logPrintf(name string, visibles []*visibleInterval) { func logPrintf(name string, visibles []*visibleInterval) {
/* /*
log.Printf("%s len %d", name, len(visibles)) log.Printf("%s len %d", name, len(visibles))
for _, v := range visibles { for _, v := range visibles {
log.Printf("%s: => %+v", name, v) log.Printf("%s: => %+v", name, v)
} }
*/ */
} }
@ -151,14 +151,17 @@ func mergeIntoVisibles(visibles, newVisibles []*visibleInterval, chunk *filer_pb
} }
newVisibles = append(newVisibles, newV) newVisibles = append(newVisibles, newV)
for i := len(newVisibles) - 1; i > 0; i-- { logPrintf(" append", newVisibles)
if newV.start < newVisibles[i-1].start {
for i := len(newVisibles) - 1; i >= 0; i-- {
if i > 0 && newV.start < newVisibles[i-1].start {
newVisibles[i] = newVisibles[i-1] newVisibles[i] = newVisibles[i-1]
} else { } else {
newVisibles[i] = newV newVisibles[i] = newV
break break
} }
} }
logPrintf(" sorted", newVisibles)
return newVisibles return newVisibles
} }
@ -175,9 +178,10 @@ func nonOverlappingVisibleIntervals(chunks []*filer_pb.FileChunk) (visibles []*v
t := visibles[:0] t := visibles[:0]
visibles = newVislbles visibles = newVislbles
newVislbles = t newVislbles = t
}
logPrintf("visibles", visibles) logPrintf("add", visibles)
}
return return
} }