Skip to content

Commit 3a91a06

Browse files
committed
test(opensearchutil): close the clients the bulk indexer tests supply
Thirteen cases in bulk_indexer_internal_test.go build an opensearchapi client and hand it to BulkIndexerConfig.Client. A supplied client is not owned by the indexer, so implicitClient stays false and BulkIndexer.Close leaves it open, exactly as TestBulkIndexerOwnClientFlag asserts. Each one left its transport polling node stats and cluster health for the rest of the test binary. Register the same t.Cleanup close used elsewhere on this branch. The one remaining unclosed client in the file is deliberate: that case forces implicitClient to true so the indexer owns it, then asserts the close happened. Signed-off-by: Ryan Yuan <ryan.yuan@crowdstrike.com>
1 parent eb76e60 commit 3a91a06

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

opensearchutil/bulk_indexer_internal_test.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,7 @@ func TestBulkIndexerLifecycle(t *testing.T) {
299299
return &http.Response{Body: io.NopCloser(bytes.NewBuffer(bodyContent))}, nil
300300
},
301301
}}})
302+
t.Cleanup(func() { _ = client.Close() })
302303

303304
cfg := BulkIndexerConfig{
304305
NumWorkers: 1,
@@ -356,6 +357,7 @@ func TestBulkIndexerLifecycle(t *testing.T) {
356357
}, nil
357358
},
358359
}}})
360+
t.Cleanup(func() { _ = client.Close() })
359361

360362
cfg := BulkIndexerConfig{
361363
NumWorkers: 1,
@@ -443,6 +445,7 @@ func TestBulkIndexerLifecycle(t *testing.T) {
443445
cfg.Client.Logger = &opensearchtransport.ColorLogger{Output: os.Stdout}
444446
}
445447
client, _ := opensearchapi.NewClient(cfg)
448+
t.Cleanup(func() { _ = client.Close() })
446449

447450
biCfg := BulkIndexerConfig{NumWorkers: 1, FlushBytes: 50, Client: client}
448451
if testutil.IsDebugEnabled(t) {
@@ -496,6 +499,7 @@ func TestBulkIndexerContext(t *testing.T) {
496499
run: func(t *testing.T) {
497500
t.Helper()
498501
client, _ := opensearchapi.NewClient(opensearchapi.Config{Client: opensearch.Config{Transport: &mockTransport{}}})
502+
t.Cleanup(func() { _ = client.Close() })
499503
bi, _ := NewBulkIndexer(BulkIndexerConfig{NumWorkers: 1, Client: client})
500504
ctx, cancel := context.WithTimeout(context.Background(), time.Nanosecond)
501505
defer cancel()
@@ -522,6 +526,7 @@ func TestBulkIndexerContext(t *testing.T) {
522526
run: func(t *testing.T) {
523527
t.Helper()
524528
client, _ := opensearchapi.NewClient(opensearchapi.Config{Client: opensearch.Config{Transport: &mockTransport{}}})
529+
t.Cleanup(func() { _ = client.Close() })
525530
bi, _ := NewBulkIndexer(BulkIndexerConfig{NumWorkers: 1, Client: client})
526531

527532
ctx, cancel := context.WithCancel(context.Background())
@@ -555,6 +560,7 @@ func TestBulkIndexerContext(t *testing.T) {
555560
run: func(t *testing.T) {
556561
t.Helper()
557562
client, _ := opensearchapi.NewClient(opensearchapi.Config{Client: opensearch.Config{Transport: &mockTransport{}}})
563+
t.Cleanup(func() { _ = client.Close() })
558564
bi, _ := NewBulkIndexer(BulkIndexerConfig{
559565
NumWorkers: 1,
560566
FlushBytes: 1,
@@ -579,6 +585,7 @@ func TestBulkIndexerContext(t *testing.T) {
579585
// forever signaling a flusher that already left. Regression for
580586
// the unbuffered done-channel deadlock.
581587
client, _ := opensearchapi.NewClient(opensearchapi.Config{Client: opensearch.Config{Transport: &mockTransport{}}})
588+
t.Cleanup(func() { _ = client.Close() })
582589
ctx, cancel := context.WithCancel(t.Context())
583590
bi, err := NewBulkIndexer(BulkIndexerConfig{
584591
NumWorkers: 1,
@@ -644,6 +651,7 @@ func TestBulkIndexerCallbacks(t *testing.T) {
644651
}
645652
}
646653
client, _ := opensearchapi.NewClient(config)
654+
t.Cleanup(func() { _ = client.Close() })
647655

648656
var (
649657
indexerError error
@@ -703,6 +711,7 @@ func TestBulkIndexerCallbacks(t *testing.T) {
703711
},
704712
},
705713
)
714+
t.Cleanup(func() { _ = client.Close() })
706715

707716
cfg := BulkIndexerConfig{NumWorkers: 1, Client: client}
708717
if testutil.IsDebugEnabled(t) {
@@ -793,6 +802,7 @@ func TestBulkIndexerCallbacks(t *testing.T) {
793802
}, nil
794803
},
795804
}}})
805+
t.Cleanup(func() { _ = client.Close() })
796806
flushIndex := testutil.MustUniqueString(t, "test-flush")
797807

798808
var flushEndCalled atomic.Bool
@@ -847,6 +857,7 @@ func TestBulkIndexerCallbacks(t *testing.T) {
847857
},
848858
},
849859
})
860+
t.Cleanup(func() { _ = client.Close() })
850861

851862
bi, _ := NewBulkIndexer(BulkIndexerConfig{
852863
NumWorkers: 1,
@@ -933,6 +944,7 @@ func TestBulkIndexerCallbacks(t *testing.T) {
933944
},
934945
},
935946
)
947+
t.Cleanup(func() { _ = client.Close() })
936948

937949
bi, _ := NewBulkIndexer(BulkIndexerConfig{NumWorkers: 1, Client: client})
938950

@@ -984,6 +996,7 @@ func TestBulkIndexerCallbacks(t *testing.T) {
984996
},
985997
},
986998
})
999+
t.Cleanup(func() { _ = client.Close() })
9871000

9881001
bi, _ := NewBulkIndexer(BulkIndexerConfig{NumWorkers: 1, Client: client})
9891002

0 commit comments

Comments
 (0)