(t *testing.T)
| 321 | } |
| 322 | |
| 323 | func TestLiveStoreReplaysTraceInHeadBlock(t *testing.T) { |
| 324 | tmpDir := t.TempDir() |
| 325 | |
| 326 | liveStore, err := defaultLiveStore(t, tmpDir) |
| 327 | require.NoError(t, err) |
| 328 | require.NotNil(t, liveStore) |
| 329 | |
| 330 | // push data |
| 331 | expectedID, expectedTrace := pushToLiveStore(t, liveStore) |
| 332 | |
| 333 | inst, err := liveStore.getOrCreateInstance(testTenantID) |
| 334 | require.NoError(t, err) |
| 335 | |
| 336 | // cut to head block |
| 337 | drained, err := inst.cutIdleTraces(t.Context(), true) |
| 338 | require.NoError(t, err) |
| 339 | require.True(t, drained, "should drain live traces in one iteration") |
| 340 | |
| 341 | // stop the live store and then create a new one to simulate a restart and replay the data on disk |
| 342 | err = services.StopAndAwaitTerminated(t.Context(), liveStore) |
| 343 | require.NoError(t, err) |
| 344 | |
| 345 | liveStore, err = defaultLiveStore(t, tmpDir) |
| 346 | require.NoError(t, err) |
| 347 | |
| 348 | requireTraceInLiveStore(t, liveStore, expectedID, expectedTrace) |
| 349 | requireInstanceState(t, liveStore.instances[testTenantID], instanceState{liveTraces: 0, walBlocks: 1, completeBlocks: 0}) |
| 350 | } |
| 351 | |
| 352 | func TestLiveStoreReplaysTraceInWalBlocks(t *testing.T) { |
| 353 | tmpDir := t.TempDir() |
nothing calls this directly
no test coverage detected