X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/e75d90299dc2ff0dbccf28c134ee2640f79b2b5d..de030f2c3f7a0c57904def9662d4d7a979b90497:/services/keep-balance/collection.go?ds=sidebyside diff --git a/services/keep-balance/collection.go b/services/keep-balance/collection.go index 1da3ec4415..1e1e51abe7 100644 --- a/services/keep-balance/collection.go +++ b/services/keep-balance/collection.go @@ -199,10 +199,13 @@ func (bal *Balancer) updateCollections(ctx context.Context, c *arvados.Client, c // temporarily. repl = desired } - classes, err := json.Marshal(coll.StorageClassesDesired) - if err != nil { - bal.logf("BUG? json.Marshal(%v) failed: %s", classes, err) - continue + classes := emptyJSONArray + if repl > 0 { + classes, err = json.Marshal(coll.StorageClassesDesired) + if err != nil { + bal.logf("BUG? json.Marshal(%v) failed: %s", classes, err) + continue + } } needUpdate := coll.ReplicationConfirmed == nil || *coll.ReplicationConfirmed != repl || len(coll.StorageClassesConfirmed) != len(coll.StorageClassesDesired) for i := range coll.StorageClassesDesired { @@ -259,3 +262,5 @@ func goSendErr(errs chan<- error, f func() error) { } }() } + +var emptyJSONArray = []byte("[]")