From 2ecf5ba1de1959ce9007d8195ed02e212c2935bc Mon Sep 17 00:00:00 2001 From: poornas Date: Wed, 13 May 2020 06:37:22 -0700 Subject: [PATCH] fix panic when checking if es/nats event target is active (#9587) --- pkg/event/target/elasticsearch.go | 7 +++++++ pkg/event/target/nsq.go | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/pkg/event/target/elasticsearch.go b/pkg/event/target/elasticsearch.go index 59d15d976..c8ea89671 100644 --- a/pkg/event/target/elasticsearch.go +++ b/pkg/event/target/elasticsearch.go @@ -103,6 +103,13 @@ func (target *ElasticsearchTarget) IsActive() (bool, error) { ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) defer cancel() + if target.client == nil { + client, err := newClient(target.args) + if err != nil { + return false, err + } + target.client = client + } _, code, err := target.client.Ping(target.args.URL.String()).HttpHeadOnly(true).Do(ctx) if err != nil { if elastic.IsConnErr(err) || elastic.IsContextErr(err) || xnet.IsNetworkOrHostDown(err) { diff --git a/pkg/event/target/nsq.go b/pkg/event/target/nsq.go index 39789059b..5a1be9914 100644 --- a/pkg/event/target/nsq.go +++ b/pkg/event/target/nsq.go @@ -106,7 +106,7 @@ func (target *NSQTarget) HasQueueStore() bool { // IsActive - Return true if target is up and active func (target *NSQTarget) IsActive() (bool, error) { - if target.producer != nil { + if target.producer == nil { producer, err := nsq.NewProducer(target.args.NSQDAddress.String(), target.config) if err != nil { return false, err