19414: Fix concurrent map read/write.
[arvados.git] / services / keep-balance / block_state.go
index 07c9952f906d7e57dfca21d0007c01d96f42294b..63a994096bc8c4e1c6f974592c5ee4cf2b6f364f 100644 (file)
@@ -151,7 +151,11 @@ func (bsm *BlockStateMap) GetConfirmedReplication(blkids []arvados.SizedDigest,
                for _, c := range classes {
                        perclass[c] = 0
                }
-               for _, r := range bsm.get(blkid).Replicas {
+               bs, ok := bsm.entries[blkid]
+               if !ok {
+                       return 0
+               }
+               for _, r := range bs.Replicas {
                        total += r.KeepMount.Replication
                        mntclasses := r.KeepMount.StorageClasses
                        if len(mntclasses) == 0 {