From: Tom Clegg Date: Thu, 10 Nov 2016 20:25:32 +0000 (-0500) Subject: 10484: Track non-s3 errors by Go type. X-Git-Tag: 1.1.0~591^2~3 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/d542de20d8617f5823ab8f675c114f78aaf4a924?hp=515a58c0ef8634fca2397a8609f868524a42132c 10484: Track non-s3 errors by Go type. --- diff --git a/services/keepstore/s3_volume.go b/services/keepstore/s3_volume.go index 48ba95b488..3b843e02c9 100644 --- a/services/keepstore/s3_volume.go +++ b/services/keepstore/s3_volume.go @@ -859,15 +859,16 @@ func (v *S3Volume) tickErr(err error) error { return nil } atomic.AddUint64(&v.bucketStats.Errors, 1) + errStr := fmt.Sprintf("%T", err) if err, ok := err.(*s3.Error); ok { - errStr := fmt.Sprintf("%d %s", err.StatusCode, err.Code) - v.bucketStats.lock.Lock() - if v.bucketStats.ErrorCodes == nil { - v.bucketStats.ErrorCodes = make(map[string]uint64) - } - v.bucketStats.ErrorCodes[errStr]++ - v.bucketStats.lock.Unlock() + errStr = errStr + fmt.Sprintf(" %d %s", err.StatusCode, err.Code) + } + v.bucketStats.lock.Lock() + if v.bucketStats.ErrorCodes == nil { + v.bucketStats.ErrorCodes = make(map[string]uint64) } + v.bucketStats.ErrorCodes[errStr]++ + v.bucketStats.lock.Unlock() return err }