From 08f4a0a816e85ed17e2f272f0eb67fcee524f967 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Mon, 22 Nov 2021 12:46:46 -0800 Subject: [PATCH] fix: make sure esClient is allocated before use (#13727) --- internal/event/target/elasticsearch.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/internal/event/target/elasticsearch.go b/internal/event/target/elasticsearch.go index 6a7430b28..8344bf51a 100644 --- a/internal/event/target/elasticsearch.go +++ b/internal/event/target/elasticsearch.go @@ -179,6 +179,7 @@ func (target *ElasticsearchTarget) IsActive() (bool, error) { if err != nil { return false, err } + return target.client.ping(ctx, target.args) } @@ -187,7 +188,16 @@ func (target *ElasticsearchTarget) Save(eventData event.Event) error { if target.store != nil { return target.store.Put(eventData) } - err := target.send(eventData) + + ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) + defer cancel() + + err := target.checkAndInitClient(ctx) + if err != nil { + return err + } + + err = target.send(eventData) if xnet.IsNetworkOrHostDown(err, false) { return errNotConnected }