[ARVADOS] updated: 9bd088fa56f7274f69774f49e62c701fb68a5aeb
Git user
git at public.curoverse.com
Thu Nov 10 15:26:04 EST 2016
Summary of changes:
services/keepstore/s3_volume.go | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
via 9bd088fa56f7274f69774f49e62c701fb68a5aeb (commit)
via 4bc4dec2fcc9aba32bd4b6c84defd7ad2a549f59 (commit)
from 527604a3886e1766a1c44d8ad4689052a3c96d90 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
commit 9bd088fa56f7274f69774f49e62c701fb68a5aeb
Author: Tom Clegg <tom at curoverse.com>
Date: Thu Nov 10 15:25:32 2016 -0500
10470: Track non-s3 errors by Go type.
diff --git a/services/keepstore/s3_volume.go b/services/keepstore/s3_volume.go
index 48ba95b..3b843e0 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
}
commit 4bc4dec2fcc9aba32bd4b6c84defd7ad2a549f59
Author: Tom Clegg <tom at curoverse.com>
Date: Thu Nov 10 15:21:26 2016 -0500
10470: Track s3 errors by response code.
diff --git a/services/keepstore/s3_volume.go b/services/keepstore/s3_volume.go
index c52f616..48ba95b 100644
--- a/services/keepstore/s3_volume.go
+++ b/services/keepstore/s3_volume.go
@@ -165,6 +165,10 @@ type bucketStats struct {
DelOps uint64
InBytes uint64
OutBytes uint64
+
+ ErrorCodes map[string]uint64 `json:",omitempty"`
+
+ lock sync.Mutex
}
// Examples implements VolumeWithExamples.
@@ -851,8 +855,18 @@ func (v *S3Volume) tick(counters ...*uint64) {
}
func (v *S3Volume) tickErr(err error) error {
- if err != nil {
- atomic.AddUint64(&v.bucketStats.Errors, 1)
+ if err == nil {
+ return nil
+ }
+ atomic.AddUint64(&v.bucketStats.Errors, 1)
+ 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()
}
return err
}
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list