(hkey uint64, key string)
| 70 | } |
| 71 | |
| 72 | func (dm *DMap) deleteBackupOnCluster(hkey uint64, key string) error { |
| 73 | owners := dm.s.backup.PartitionOwnersByHKey(hkey) |
| 74 | var g errgroup.Group |
| 75 | for _, owner := range owners { |
| 76 | mem := owner |
| 77 | g.Go(func() error { |
| 78 | cmd := protocol.NewDelEntry(dm.name, key).SetReplica().Command(dm.s.ctx) |
| 79 | rc := dm.s.client.Get(mem.String()) |
| 80 | err := rc.Process(dm.s.ctx, cmd) |
| 81 | if err != nil { |
| 82 | dm.s.log.V(3).Printf("[ERROR] Failed to delete replica key/value on %s: %s", dm.name, err) |
| 83 | return protocol.ConvertError(err) |
| 84 | } |
| 85 | return protocol.ConvertError(cmd.Err()) |
| 86 | }) |
| 87 | } |
| 88 | return g.Wait() |
| 89 | } |
| 90 | |
| 91 | // deleteOnCluster is not a thread-safe function |
| 92 | func (dm *DMap) deleteOnCluster(hkey uint64, key string, f *fragment) error { |
no test coverage detected