1. fix remote write err assert on recoverableError (#749)

master
ning1875 4 years ago committed by GitHub
parent 0c35f32c5c
commit 9c9f2973f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -226,25 +226,26 @@ func (pd *PromeDataSource) processWrite(payload []byte) {
newC := c newC := c
go func(cc *HttpClient, payload []byte) { go func(cc *HttpClient, payload []byte) {
sendOk := false sendOk := false
var err error
var rec bool var rec bool
var finalErr error
for i := 0; i < retry; i++ { for i := 0; i < retry; i++ {
err = remoteWritePost(cc, payload) err := remoteWritePost(cc, payload)
if err == nil { if err == nil {
sendOk = true sendOk = true
break break
} }
err, rec = err.(RecoverableError) _, rec = err.(RecoverableError)
if !rec { if !rec {
finalErr = err
break break
} }
logger.Warningf("[send prome fail recoverableError][retry: %d/%d][err:%v]", i+1, retry, err)
logger.Warningf("send prome fail: %v", err)
time.Sleep(time.Millisecond * 100) time.Sleep(time.Millisecond * 100)
} }
if !sendOk { if !sendOk {
logger.Errorf("send prome finally fail: %v", err) logger.Errorf("send prome finally fail: %v", finalErr)
} else { } else {
logger.Infof("send to prome %s ok", cc.url.String()) logger.Infof("send to prome %s ok", cc.url.String())
} }

Loading…
Cancel
Save