Skip to content

Commit

Permalink
feat: Harvest should reduce batch size and retry when ONTAP times out (
Browse files Browse the repository at this point in the history
…#2770)

* feat: Harvest should reduce batch size and retry when ONTAP times out
  • Loading branch information
cgrinds authored Mar 25, 2024
1 parent 65ce1ff commit cfeb222
Showing 1 changed file with 9 additions and 1 deletion.
10 changes: 9 additions & 1 deletion cmd/collectors/zapiperf/zapiperf.go
Original file line number Diff line number Diff line change
Expand Up @@ -463,14 +463,22 @@ func (z *ZapiPerf) PollData() (map[string]*matrix.Matrix, error) {

response, rd, pd, err := z.Client.InvokeWithTimers(z.testFilePath)
if err != nil {
errMsg := err.Error()
// if ONTAP complains about batch size, use a smaller batch size
if strings.Contains(err.Error(), "resource limit exceeded") && z.batchSize > 100 {
if strings.EqualFold(errMsg, "resource limit exceeded") && z.batchSize > 100 {
z.Logger.Error().Err(err).
Int("oldBatchSize", z.batchSize).
Int("newBatchSize", z.batchSize-100).
Msg("Changed batch_size")
z.batchSize -= 100
return nil, nil
} else if strings.EqualFold(errMsg, "Timeout: Operation") && z.batchSize > 100 {
z.Logger.Error().Err(err).
Int("oldBatchSize", z.batchSize).
Int("newBatchSize", z.batchSize-100).
Msg("ONTAP timeout, reducing batch size")
z.batchSize -= 100
return nil, nil
}
return nil, err
}
Expand Down

0 comments on commit cfeb222

Please sign in to comment.