From b9912a595f2a8aeee367be52824133f483844e6d Mon Sep 17 00:00:00 2001 From: Jarek Kowalski Date: Sat, 4 Jun 2016 06:50:34 -0700 Subject: [PATCH] fixing gcs upload, wip --- blob/gcs.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/blob/gcs.go b/blob/gcs.go index 3b21fa12c..c23efa3ec 100644 --- a/blob/gcs.go +++ b/blob/gcs.go @@ -91,11 +91,23 @@ func (gcs *gcsStorage) PutBlock(b string, data io.ReadCloser, options PutOptions } defer data.Close() + t0 := time.Now() call := gcs.objectsService.Insert(gcs.BucketName, &object).Media(data) if !options.Overwrite { call = call.IfGenerationMatch(0) } _, err := call.Do() + dt := time.Since(t0) + log.Printf("PutBlock completed in %v and returned %v", dt, err) + + if err != nil { + if err, ok := err.(*googleapi.Error); ok { + if err.Code == 412 { + // Condition not met indicates that the block already exists. + return nil + } + } + } return err }