@@ -16,6 +16,7 @@ import (
1616func TestShuffleShardingPlanner_Plan (t * testing.T ) {
1717 block1ulid := ulid .MustNew (1 , nil )
1818 block2ulid := ulid .MustNew (2 , nil )
19+ block3ulid := ulid .MustNew (3 , nil )
1920
2021 tests := map [string ]struct {
2122 ranges []int64
@@ -137,6 +138,13 @@ func TestShuffleShardingPlanner_Plan(t *testing.T) {
137138 MaxTime : 2 * time .Hour .Milliseconds (),
138139 },
139140 },
141+ {
142+ BlockMeta : tsdb.BlockMeta {
143+ ULID : block3ulid ,
144+ MinTime : 1 * time .Hour .Milliseconds (),
145+ MaxTime : 2 * time .Hour .Milliseconds (),
146+ },
147+ },
140148 },
141149 expected : []* metadata.Meta {
142150 {
@@ -146,7 +154,35 @@ func TestShuffleShardingPlanner_Plan(t *testing.T) {
146154 MaxTime : 2 * time .Hour .Milliseconds (),
147155 },
148156 },
157+ {
158+ BlockMeta : tsdb.BlockMeta {
159+ ULID : block3ulid ,
160+ MinTime : 1 * time .Hour .Milliseconds (),
161+ MaxTime : 2 * time .Hour .Milliseconds (),
162+ },
163+ },
164+ },
165+ },
166+ "test should not compact if there is only 1 compactable block" : {
167+ ranges : []int64 {2 * time .Hour .Milliseconds ()},
168+ noCompactBlocks : map [ulid.ULID ]* metadata.NoCompactMark {block1ulid : {}},
169+ blocks : []* metadata.Meta {
170+ {
171+ BlockMeta : tsdb.BlockMeta {
172+ ULID : block1ulid ,
173+ MinTime : 1 * time .Hour .Milliseconds (),
174+ MaxTime : 2 * time .Hour .Milliseconds (),
175+ },
176+ },
177+ {
178+ BlockMeta : tsdb.BlockMeta {
179+ ULID : block2ulid ,
180+ MinTime : 1 * time .Hour .Milliseconds (),
181+ MaxTime : 2 * time .Hour .Milliseconds (),
182+ },
183+ },
149184 },
185+ expected : []* metadata.Meta {},
150186 },
151187 }
152188
0 commit comments