[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