Skip to content

Commit b305025

Browse files
committed
Improve error handling
Signed-off-by: Markus Blaschke <mblaschke82@gmail.com>
1 parent 5a2283d commit b305025

File tree

1 file changed

+24
-4
lines changed

1 file changed

+24
-4
lines changed

exporter.go

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,21 @@ func (e *PagerdutyElasticsearchExporter) ConnectElasticsearch(cfg elasticsearch.
122122
panic(err)
123123
}
124124

125-
_, err = e.elasticSearchClient.Info()
126-
if err != nil {
127-
panic(err)
125+
tries := 0
126+
for {
127+
_, err = e.elasticSearchClient.Info()
128+
if err != nil {
129+
tries++
130+
if tries >= 5 {
131+
panic(err)
132+
} else {
133+
daemonLogger.Info("Failed to connect to ES, retry...")
134+
time.Sleep(5 * time.Second)
135+
continue
136+
}
137+
}
138+
139+
break
128140
}
129141

130142
e.elasticsearchIndexName = indexName
@@ -335,6 +347,10 @@ func (e *PagerdutyElasticsearchExporter) doESIndexRequestBulk(bulkRequests []*es
335347
return
336348
}
337349

350+
if resp != nil {
351+
daemonLogger.Errorf("Unexpected HTTP %v response: %v", resp.StatusCode, resp.String())
352+
}
353+
338354
// got an error
339355
daemonLogger.Errorf("Retrying ES index error: %v", err)
340356
e.prometheus.esRequestRetries.WithLabelValues().Inc()
@@ -344,5 +360,9 @@ func (e *PagerdutyElasticsearchExporter) doESIndexRequestBulk(bulkRequests []*es
344360
}
345361

346362
// must be an error
347-
panic("Fatal ES index error: " + err.Error())
363+
if err != nil {
364+
panic("Fatal ES index error: " + err.Error())
365+
} else {
366+
panic("Unable to process ES request")
367+
}
348368
}

0 commit comments

Comments
 (0)