Skip to content
This repository was archived by the owner on Oct 7, 2022. It is now read-only.

Commit 8e7eb1b

Browse files
committed
fix(elasticsearch): retry every failed record
1 parent cb42068 commit 8e7eb1b

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/elasticsearch/elasticsearch.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,13 +86,18 @@ func (d recordDatabase) Insert(records []*models.ElasticRecord) (*InsertResponse
8686
for _, rec := range records {
8787
recordMap[rec.ID] = rec
8888
}
89+
overloaded := false
8990
for _, f := range failed {
91+
level.Error(d.logger).Log("record", f, "message", "failed to insert!")
92+
retry = append(retry, recordMap[f.Id])
9093
if f.Status == http.StatusTooManyRequests {
9194
//es is overloaded, backoff
92-
retry = append(retry, recordMap[f.Id])
95+
overloaded = true
9396
}
9497
}
95-
level.Warn(d.logger).Log("message", "insert failed: elasticsearch is overloaded", "retry_count", len(retry))
98+
if overloaded {
99+
level.Warn(d.logger).Log("message", "insert failed: elasticsearch is overloaded", "retry_count", len(retry))
100+
}
96101
}
97102
return &InsertResponse{alreadyExistsIds, retry}, nil
98103
}

0 commit comments

Comments
 (0)