[ARVADOS] updated: 1.1.4-260-gf4aa4db

Git user git at public.curoverse.com
Thu May 10 16:08:41 EDT 2018


Summary of changes:
 sdk/go/arvados/client_test.go       | 17 ++++++++
 sdk/go/arvados/keep_service.go      |  7 ++++
 sdk/go/arvados/keep_service_test.go | 27 +++++++++++++
 services/keepstore/config.go        |  2 +
 services/keepstore/keepstore.go     |  4 +-
 services/keepstore/server.go        | 78 +++++++++++++++++++++++++++++++++++++
 services/keepstore/server_test.go   | 47 ++++++++++++++++++++++
 services/keepstore/usage.go         | 15 +++++++
 8 files changed, 195 insertions(+), 2 deletions(-)
 create mode 100644 sdk/go/arvados/keep_service_test.go
 create mode 100644 services/keepstore/server.go
 create mode 100644 services/keepstore/server_test.go

       via  f4aa4dbbefe8b6dd65e3a112642da288774cf951 (commit)
       via  2b11b17ca7177e6256f2647296e759117a1b2f74 (commit)
       via  fbaeef17b53705fe8cda80614cc9a804020675ee (commit)
       via  b4a283a9f142209b22fabda98ea2573cf0dbe281 (commit)
      from  48026f941f46a883c9d84fda581e41ea5c5aed9b (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 f4aa4dbbefe8b6dd65e3a112642da288774cf951
Merge: 2b11b17 b4a283a
Author: Tom Clegg <tclegg at veritasgenetics.com>
Date:   Thu May 10 16:07:33 2018 -0400

    Merge branch '13446-keepstore-tls'
    
    refs #13446
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg at veritasgenetics.com>


commit 2b11b17ca7177e6256f2647296e759117a1b2f74
Merge: 48026f9 fbaeef1
Author: Tom Clegg <tclegg at veritasgenetics.com>
Date:   Thu May 10 16:07:16 2018 -0400

    Merge branch '9918-index-error'
    
    refs #9918
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg at veritasgenetics.com>


commit fbaeef17b53705fe8cda80614cc9a804020675ee
Author: Tom Clegg <tclegg at veritasgenetics.com>
Date:   Thu May 10 16:05:30 2018 -0400

    9918: Don't mask http/network error with response body format error.
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg at veritasgenetics.com>

diff --git a/sdk/go/arvados/client_test.go b/sdk/go/arvados/client_test.go
index b0627fd..df93800 100644
--- a/sdk/go/arvados/client_test.go
+++ b/sdk/go/arvados/client_test.go
@@ -12,6 +12,7 @@ import (
 	"net/url"
 	"sync"
 	"testing"
+	"testing/iotest"
 )
 
 type stubTransport struct {
@@ -51,6 +52,22 @@ func (stub *errorTransport) RoundTrip(req *http.Request) (*http.Response, error)
 	return nil, fmt.Errorf("something awful happened")
 }
 
+type timeoutTransport struct {
+	response []byte
+}
+
+func (stub *timeoutTransport) RoundTrip(req *http.Request) (*http.Response, error) {
+	return &http.Response{
+		Status:     "200 OK",
+		StatusCode: 200,
+		Proto:      "HTTP/1.1",
+		ProtoMajor: 1,
+		ProtoMinor: 1,
+		Request:    req,
+		Body:       ioutil.NopCloser(iotest.TimeoutReader(bytes.NewReader(stub.response))),
+	}, nil
+}
+
 func TestCurrentUser(t *testing.T) {
 	t.Parallel()
 	stub := &stubTransport{
diff --git a/sdk/go/arvados/keep_service.go b/sdk/go/arvados/keep_service.go
index 9797440..0c86635 100644
--- a/sdk/go/arvados/keep_service.go
+++ b/sdk/go/arvados/keep_service.go
@@ -127,6 +127,13 @@ func (s *KeepService) index(c *Client, url string) ([]KeepServiceIndexEntry, err
 	scanner := bufio.NewScanner(resp.Body)
 	sawEOF := false
 	for scanner.Scan() {
+		if scanner.Err() != nil {
+			// If we encounter a read error (timeout,
+			// connection failure), stop now and return it
+			// below, so it doesn't get masked by the
+			// ensuing "badly formatted response" error.
+			break
+		}
 		if sawEOF {
 			return nil, fmt.Errorf("Index response contained non-terminal blank line")
 		}
diff --git a/sdk/go/arvados/keep_service_test.go b/sdk/go/arvados/keep_service_test.go
new file mode 100644
index 0000000..8715f74
--- /dev/null
+++ b/sdk/go/arvados/keep_service_test.go
@@ -0,0 +1,27 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: Apache-2.0
+
+package arvados
+
+import (
+	"net/http"
+
+	check "gopkg.in/check.v1"
+)
+
+var _ = check.Suite(&KeepServiceSuite{})
+
+type KeepServiceSuite struct{}
+
+func (*KeepServiceSuite) TestIndexTimeout(c *check.C) {
+	client := &Client{
+		Client: &http.Client{
+			Transport: &timeoutTransport{response: []byte("\n")},
+		},
+		APIHost:   "zzzzz.arvadosapi.com",
+		AuthToken: "xyzzy",
+	}
+	_, err := (&KeepService{}).IndexMount(client, "fake", "")
+	c.Check(err, check.ErrorMatches, `.*timeout.*`)
+}

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list