14397: Pass SHA256 to s3 library.
authorTom Clegg <tclegg@veritasgenetics.com>
Mon, 12 Nov 2018 18:12:28 +0000 (13:12 -0500)
committerTom Clegg <tclegg@veritasgenetics.com>
Mon, 12 Nov 2018 18:12:28 +0000 (13:12 -0500)
Otherwise, the s3 library copies the data into another new buffer,
doubling the memory needed for a write operation.

Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg@veritasgenetics.com>

services/keepstore/s3_volume.go
vendor/vendor.json

index 68406d5a28e9de01df1bb252235c5a912fde0f30..19c4fe540a15170aad4d4e9fa2cd93645565c37d 100644 (file)
@@ -7,6 +7,7 @@ package main
 import (
        "bytes"
        "context"
+       "crypto/sha256"
        "encoding/base64"
        "encoding/hex"
        "flag"
@@ -402,6 +403,7 @@ func (v *S3Volume) Put(ctx context.Context, loc string, block []byte) error {
                        return err
                }
                opts.ContentMD5 = base64.StdEncoding.EncodeToString(md5)
+               opts.ContentSHA256 = fmt.Sprintf("%x", sha256.Sum256(block))
        }
 
        // Send the block data through a pipe, so that (if we need to)
index 2bd409b8a9c926a12e71b87b510b15815e54d0ac..c0e6fee5dbe63ed053c70fcc1ac0875f13813381 100644 (file)
@@ -3,24 +3,24 @@
        "ignore": "test",
        "package": [
                {
-                       "checksumSHA1": "f3QOPH0L/cCtLRzi7PI838GujAQ=",
+                       "checksumSHA1": "j4je0EzPGzjb6INLY1BHZ+hyMjc=",
                        "origin": "github.com/curoverse/goamz/aws",
                        "path": "github.com/AdRoll/goamz/aws",
-                       "revision": "d0a83495df264858eda1fe89ebfac66b22a68ba3",
+                       "revision": "888b4804f2653cd35ebcc95f046079e63b5b2799",
                        "revisionTime": "2017-07-27T13:52:37Z"
                },
                {
-                       "checksumSHA1": "+T3Mbw98mQoOgX+z/UpumfTHFlU=",
+                       "checksumSHA1": "0+n3cT6e7sQCCbBAH8zg6neiHTk=",
                        "origin": "github.com/curoverse/goamz/s3",
                        "path": "github.com/AdRoll/goamz/s3",
-                       "revision": "d0a83495df264858eda1fe89ebfac66b22a68ba3",
+                       "revision": "888b4804f2653cd35ebcc95f046079e63b5b2799",
                        "revisionTime": "2017-07-27T13:52:37Z"
                },
                {
                        "checksumSHA1": "tvxbsTkdjB0C/uxEglqD6JfVnMg=",
                        "origin": "github.com/curoverse/goamz/s3/s3test",
                        "path": "github.com/AdRoll/goamz/s3/s3test",
-                       "revision": "d0a83495df264858eda1fe89ebfac66b22a68ba3",
+                       "revision": "888b4804f2653cd35ebcc95f046079e63b5b2799",
                        "revisionTime": "2017-07-27T13:52:37Z"
                },
                {