MCPcopy
hub / github.com/grafana/tempo / TestTenantStoreNoCompactFlag

Function TestTenantStoreNoCompactFlag

modules/blockbuilder/tenant_store_test.go:193–239  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

191}
192
193func TestTenantStoreNoCompactFlag(t *testing.T) {
194 var (
195 ctx = t.Context()
196 count = 3
197 startTime = time.Now().Add(-24 * time.Hour)
198 cycleDuration = 5 * time.Minute
199 slackDuration = 5 * time.Minute
200 traceStart = startTime
201 traceEnd = startTime.Add(time.Minute)
202
203 log = log.NewNopLogger()
204 store = newStoreWithLogger(ctx, t, log, true)
205 )
206
207 ts, err := getTenantStore(t, startTime, cycleDuration, slackDuration)
208 require.NoError(t, err)
209
210 for range count {
211 req := test.MakePushBytesRequest(t, 3, nil, uint64(traceStart.UnixNano()), uint64(traceEnd.UnixNano()))
212 for j := range req.Traces {
213 err = ts.AppendTrace(req.Ids[j], req.Traces[j].Slice, startTime)
214 require.NoError(t, err)
215 }
216 }
217
218 err = ts.Flush(ctx, store, store, store)
219 require.NoError(t, err)
220
221 store.PollNow(ctx)
222 metas := store.BlockMetas(ts.tenantID)
223 require.Equal(t, 0, len(metas))
224
225 // block should be available for polling after compaction is allowed
226 err = ts.AllowCompaction(ctx, store)
227 require.NoError(t, err)
228
229 store.PollNow(ctx)
230 metas = store.BlockMetas(ts.tenantID)
231 require.Equal(t, 1, len(metas))
232
233 actualMeta := metas[0]
234
235 // Verify other properties of the block
236 require.EqualValues(t, count, actualMeta.TotalObjects)
237 require.EqualValues(t, 1, actualMeta.TotalRecords)
238 require.Greater(t, actualMeta.Size_, uint64(0))
239}

Callers

nothing calls this directly

Calls 12

MakePushBytesRequestFunction · 0.92
getTenantStoreFunction · 0.85
AllowCompactionMethod · 0.80
newStoreWithLoggerFunction · 0.70
ContextMethod · 0.65
AddMethod · 0.65
NowMethod · 0.65
AppendTraceMethod · 0.65
FlushMethod · 0.65
PollNowMethod · 0.65
BlockMetasMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected