21126: Add AllowTrashWhenReadOnly flag.
[arvados.git] / services / keepstore / command.go
index 555f16dfe1f290edbd1797437efd3842ad29dd4e..db387f494b06c8d8b4e3fc1b38f7732e187e767f 100644 (file)
@@ -186,7 +186,7 @@ func (h *handler) setup(ctx context.Context, cluster *arvados.Cluster, token str
 
        // Initialize the trashq and workers
        h.trashq = NewWorkQueue()
-       for i := 0; i < 1 || i < h.Cluster.Collections.BlobTrashConcurrency; i++ {
+       for i := 0; i < h.Cluster.Collections.BlobTrashConcurrency; i++ {
                go RunTrashWorker(h.volmgr, h.Logger, h.Cluster, h.trashq)
        }
 
@@ -208,8 +208,10 @@ func (h *handler) setup(ctx context.Context, cluster *arvados.Cluster, token str
        }
        h.keepClient.Arvados.ApiToken = fmt.Sprintf("%x", rand.Int63())
 
-       if d := h.Cluster.Collections.BlobTrashCheckInterval.Duration(); d > 0 {
-               go emptyTrash(h.volmgr.writables, d)
+       if d := h.Cluster.Collections.BlobTrashCheckInterval.Duration(); d > 0 &&
+               h.Cluster.Collections.BlobTrash &&
+               h.Cluster.Collections.BlobDeleteConcurrency > 0 {
+               go emptyTrash(h.volmgr.mounts, d)
        }
 
        return nil