Merge branch '17995-filter-by-comparing-attrs'
[arvados.git] / sdk / go / keepclient / support.go
index a8c82aac0e70370dced92b3dd3f5bae249cb100c..8d299815b2dbd1d0bd52d60b9f5936904811a0b9 100644 (file)
@@ -164,7 +164,11 @@ func (kc *KeepClient) BlockWrite(ctx context.Context, req arvados.BlockWriteOpti
                req.Hash = fmt.Sprintf("%x", m.Sum(nil))
        }
        if req.StorageClasses == nil {
-               req.StorageClasses = kc.StorageClasses
+               if len(kc.StorageClasses) > 0 {
+                       req.StorageClasses = kc.StorageClasses
+               } else {
+                       req.StorageClasses = kc.DefaultStorageClasses
+               }
        }
        if req.Replicas == 0 {
                req.Replicas = kc.Want_replicas
@@ -255,7 +259,7 @@ func (kc *KeepClient) BlockWrite(ctx context.Context, req arvados.BlockWriteOpti
                                                        msg += resp + "; "
                                                }
                                                msg = msg[:len(msg)-2]
-                                               return resp, InsufficientReplicasError(errors.New(msg))
+                                               return resp, InsufficientReplicasError{error: errors.New(msg)}
                                        }
                                        break
                                }