in internal/mode/advanced/elastic/client.go [78:112]
func (c *Client) afterCallback(executionId int64, requests []elastic.BulkableRequest, response *elastic.BulkResponse, err error) {
if err != nil {
c.bulkFailed = true
if elastic.IsStatusCode(err, http.StatusRequestEntityTooLarge) {
logkit.WithFields(
logkit.Fields{
"bulkRequestId": executionId,
"maxBulkSizeSetting": c.maxBulkSize,
},
).WithError(err).Error("Consider lowering maximum bulk request size or/and increasing http.max_content_length")
} else {
logkit.WithFields(
logkit.Fields{
"bulkRequestId": executionId,
},
).WithError(err).Error("Bulk request failed")
}
}
// bulk response can be nil in some cases, we must check first
if response != nil && response.Errors {
failedBulkResponseItems := response.Failed()
numFailed := len(failedBulkResponseItems)
if numFailed > 0 {
c.bulkFailed = true
total := numFailed + len(response.Succeeded())
logkit.WithField("bulkRequestId", executionId).Errorf("Bulk request failed to insert %d/%d documents", numFailed, total)
}
for i, v := range failedBulkResponseItems {
logkit.WithField("item", i).Errorf("failed with error %s", v.Error.Reason)
}
}
}