[ARVADOS] updated: 1.3.0-729-g13e0f46c8

Git user git at public.curoverse.com
Mon Apr 22 07:00:07 UTC 2019


Summary of changes:
 services/keep-balance/balance_run_test.go |  2 ++
 services/keep-balance/collection.go       | 17 +++++++++++++++++
 2 files changed, 19 insertions(+)

       via  13e0f46c8bb3d33688514b46dbeefa458b5cef89 (commit)
      from  386a9d0dc47231f45b610585e47cf2bec6dd8354 (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 13e0f46c8bb3d33688514b46dbeefa458b5cef89
Author: Tom Clegg <tclegg at veritasgenetics.com>
Date:   Mon Apr 22 02:59:23 2019 -0400

    15112: Refuse to run if modified_at column has any nulls.
    
    Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tclegg at veritasgenetics.com>

diff --git a/services/keep-balance/balance_run_test.go b/services/keep-balance/balance_run_test.go
index 7e2adcfed..3b7e2db9a 100644
--- a/services/keep-balance/balance_run_test.go
+++ b/services/keep-balance/balance_run_test.go
@@ -203,6 +203,8 @@ func (s *stubServer) serveCollectionsButSkipOne() *reqTracker {
 			io.WriteString(w, `{"items_available":0,"items":[]}`)
 		} else if strings.Contains(r.Form.Get("filters"), `"modified_at","="`) && strings.Contains(r.Form.Get("filters"), `"uuid","\u003e"`) {
 			io.WriteString(w, `{"items_available":0,"items":[]}`)
+		} else if strings.Contains(r.Form.Get("filters"), `"modified_at","=",null`) {
+			io.WriteString(w, `{"items_available":0,"items":[]}`)
 		} else {
 			io.WriteString(w, `{"items_available":2,"items":[
 				{"uuid":"zzzzz-4zz18-ehbhgtheo8909or","portable_data_hash":"fa7aeb5140e2848d39b416daeef4ffc5+45","manifest_text":". 37b51d194a7513e45b56f6524f2d51f2+3 0:3:bar\n","modified_at":"2014-02-03T17:22:54Z"},
diff --git a/services/keep-balance/collection.go b/services/keep-balance/collection.go
index 1e5fa5797..1e487c922 100644
--- a/services/keep-balance/collection.go
+++ b/services/keep-balance/collection.go
@@ -43,6 +43,23 @@ func EachCollection(c *arvados.Client, pageSize int, f func(arvados.Collection)
 		return err
 	}
 
+	var checkPage arvados.CollectionList
+	if err = c.RequestAndDecode(&checkPage, "GET", "arvados/v1/collections", nil, arvados.ResourceListParams{
+		Limit:              new(int),
+		Count:              "exact",
+		IncludeTrash:       true,
+		IncludeOldVersions: true,
+		Filters: []arvados.Filter{{
+			Attr:     "modified_at",
+			Operator: "=",
+			Operand:  nil,
+		}},
+	}); err != nil {
+		return err
+	} else if n := checkPage.ItemsAvailable; n > 0 {
+		return fmt.Errorf("%d collections exist with null modified_at; cannot fetch reliably", n)
+	}
+
 	limit := pageSize
 	if limit <= 0 {
 		// Use the maximum page size the server allows

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


hooks/post-receive
-- 




More information about the arvados-commits mailing list