code: func (c *RawKVClient) BatchDelete(keys [][]byte) error {
  	start := time.Now()
  	defer func() {
  		tikvRawkvCmdHistogramWithBatchDelete.Observe(time.Since(start).Seconds())
  	}()
  
  	bo := NewBackoffer(context.Background(), rawkvMaxBackoff)
  	resp, err := c.sendBatchReq(bo, keys, tikvrpc.CmdRawBatchDelete)
  	if err != nil {
  		return errors.Trace(err)
  	}
  	cmdResp := resp.RawBatchDelete
  	if cmdResp == nil {
  		return errors.Trace(ErrBodyMissing)
  	}
  	if cmdResp.GetError() != "" {
  		return errors.New(cmdResp.GetError())
  	}
  	return nil
  }
docs: // BatchDelete deletes key-value pairs from TiKV