diff options
Diffstat (limited to 'weed/filer/filechunks_read_test.go')
| -rw-r--r-- | weed/filer/filechunks_read_test.go | 86 |
1 files changed, 78 insertions, 8 deletions
diff --git a/weed/filer/filechunks_read_test.go b/weed/filer/filechunks_read_test.go index d4bfca72e..c66a874bc 100644 --- a/weed/filer/filechunks_read_test.go +++ b/weed/filer/filechunks_read_test.go @@ -3,6 +3,7 @@ package filer import ( "fmt" "github.com/seaweedfs/seaweedfs/weed/pb/filer_pb" + "math" "math/rand" "testing" ) @@ -42,9 +43,38 @@ func TestReadResolvedChunks(t *testing.T) { }, } - visibles := readResolvedChunks(chunks) + visibles := readResolvedChunks(chunks, 0, math.MaxInt64) - for _, visible := range visibles { + fmt.Printf("resolved to %d visible intervales\n", visibles.Len()) + for x := visibles.Front(); x != nil; x = x.Next { + visible := x.Value + fmt.Printf("[%d,%d) %s %d\n", visible.start, visible.stop, visible.fileId, visible.modifiedTsNs) + } + +} + +func TestReadResolvedChunks2(t *testing.T) { + + chunks := []*filer_pb.FileChunk{ + { + FileId: "c", + Offset: 200, + Size: 50, + ModifiedTsNs: 3, + }, + { + FileId: "e", + Offset: 200, + Size: 25, + ModifiedTsNs: 5, + }, + } + + visibles := readResolvedChunks(chunks, 0, math.MaxInt64) + + fmt.Printf("resolved to %d visible intervales\n", visibles.Len()) + for x := visibles.Front(); x != nil; x = x.Next { + visible := x.Value fmt.Printf("[%d,%d) %s %d\n", visible.start, visible.stop, visible.fileId, visible.modifiedTsNs) } @@ -72,9 +102,10 @@ func TestRandomizedReadResolvedChunks(t *testing.T) { chunks = append(chunks, randomWrite(array, start, size, ts)) } - visibles := readResolvedChunks(chunks) + visibles := readResolvedChunks(chunks, 0, math.MaxInt64) - for _, visible := range visibles { + for x := visibles.Front(); x != nil; x = x.Next { + visible := x.Value for i := visible.start; i < visible.stop; i++ { if array[i] != visible.modifiedTsNs { t.Errorf("position %d expected ts %d actual ts %d", i, array[i], visible.modifiedTsNs) @@ -112,9 +143,9 @@ func TestSequentialReadResolvedChunks(t *testing.T) { }) } - visibles := readResolvedChunks(chunks) + visibles := readResolvedChunks(chunks, 0, math.MaxInt64) - fmt.Printf("visibles %d", len(visibles)) + fmt.Printf("visibles %d", visibles.Len()) } @@ -201,9 +232,48 @@ func TestActualReadResolvedChunks(t *testing.T) { }, } - visibles := readResolvedChunks(chunks) + visibles := readResolvedChunks(chunks, 0, math.MaxInt64) + + for x := visibles.Front(); x != nil; x = x.Next { + visible := x.Value + fmt.Printf("[%d,%d) %s %d\n", visible.start, visible.stop, visible.fileId, visible.modifiedTsNs) + } + +} + +func TestActualReadResolvedChunks2(t *testing.T) { + + chunks := []*filer_pb.FileChunk{ + { + FileId: "1,e7b96fef48", + Offset: 0, + Size: 184320, + ModifiedTsNs: 1, + }, + { + FileId: "2,22562640b9", + Offset: 184320, + Size: 4096, + ModifiedTsNs: 2, + }, + { + FileId: "2,33562640b9", + Offset: 184320, + Size: 4096, + ModifiedTsNs: 4, + }, + { + FileId: "4,df033e0fe4", + Offset: 188416, + Size: 2097152, + ModifiedTsNs: 3, + }, + } + + visibles := readResolvedChunks(chunks, 0, math.MaxInt64) - for _, visible := range visibles { + for x := visibles.Front(); x != nil; x = x.Next { + visible := x.Value fmt.Printf("[%d,%d) %s %d\n", visible.start, visible.stop, visible.fileId, visible.modifiedTsNs) } |
