(t *testing.T)
| 346 | } |
| 347 | |
| 348 | func TestWALMetadataDelivery(t *testing.T) { |
| 349 | dir := t.TempDir() |
| 350 | s := NewStorage(nil, nil, nil, dir, defaultFlushDeadline, nil, false) |
| 351 | defer s.Close() |
| 352 | |
| 353 | cfg := config.DefaultQueueConfig |
| 354 | cfg.BatchSendDeadline = model.Duration(100 * time.Millisecond) |
| 355 | cfg.MaxShards = 1 |
| 356 | |
| 357 | writeConfig := baseRemoteWriteConfig("http://test-storage.com") |
| 358 | writeConfig.QueueConfig = cfg |
| 359 | writeConfig.ProtobufMessage = remoteapi.WriteV2MessageType |
| 360 | |
| 361 | conf := &config.Config{ |
| 362 | GlobalConfig: config.DefaultGlobalConfig, |
| 363 | RemoteWriteConfigs: []*config.RemoteWriteConfig{ |
| 364 | writeConfig, |
| 365 | }, |
| 366 | } |
| 367 | |
| 368 | n := 3 |
| 369 | recs := testwal.GenerateRecords(recCase{Series: n, SamplesPerSeries: n}) |
| 370 | |
| 371 | require.NoError(t, s.ApplyConfig(conf)) |
| 372 | hash, err := toHash(writeConfig) |
| 373 | require.NoError(t, err) |
| 374 | qm := s.rws.queues[hash] |
| 375 | |
| 376 | c := NewTestWriteClient(remoteapi.WriteV2MessageType) |
| 377 | qm.SetClient(c) |
| 378 | |
| 379 | qm.StoreSeries(recs.Series, 0) |
| 380 | qm.StoreMetadata(recs.Metadata) |
| 381 | |
| 382 | require.Len(t, qm.seriesLabels, n) |
| 383 | require.Len(t, qm.seriesMetadata, n) |
| 384 | |
| 385 | c.expectSamples(recs.Samples, recs.Series) |
| 386 | c.expectMetadataForBatch(recs.Metadata, recs.Series, recs.Samples, nil, nil, nil) |
| 387 | qm.Append(recs.Samples) |
| 388 | c.waitForExpectedData(t, 30*time.Second) |
| 389 | } |
| 390 | |
| 391 | func TestSampleDeliveryTimeout(t *testing.T) { |
| 392 | t.Parallel() |
nothing calls this directly
no test coverage detected
searching dependent graphs…