// deletePrefix performs a RangeRequest to get keys on a given prefix func deletePrefix(kv pb.KVClient, prefix string) (*pb.DeleteRangeResponse, error) { return kv.DeleteRange( context.TODO(), &pb.DeleteRangeRequest{ Key: []byte(prefix), RangeEnd: []byte(prefixEnd(prefix))}) }
func newStressDelete(kvc pb.KVClient, keySuffixRange int) stressFunc { return func(ctx context.Context) (error, int64) { _, err := kvc.DeleteRange(ctx, &pb.DeleteRangeRequest{ Key: []byte(fmt.Sprintf("foo%016x", rand.Intn(keySuffixRange))), }, grpc.FailFast(false)) return err, 1 } }
func newStressDeletePrefix(kvc pb.KVClient, keySuffixRange int) stressFunc { return func(ctx context.Context) error { _, err := kvc.DeleteRange(ctx, &pb.DeleteRangeRequest{ Key: []byte("foo"), RangeEnd: []byte(fmt.Sprintf("foo%d", rand.Intn(keySuffixRange))), }, grpc.FailFast(false)) return err } }
func newStressDeleteInterval(kvc pb.KVClient, keySuffixRange int) stressFunc { return func(ctx context.Context) error { start := rand.Intn(keySuffixRange) end := start + 500 _, err := kvc.DeleteRange(ctx, &pb.DeleteRangeRequest{ Key: []byte(fmt.Sprintf("foo%016x", start)), RangeEnd: []byte(fmt.Sprintf("foo%016x", end)), }, grpc.FailFast(false)) return err } }