code: func (c *RawKVClient) BatchPut(keys, values [][]byte) error {
  	start := time.Now()
  	defer func() {
  		tikvRawkvCmdHistogramWithBatchPut.Observe(time.Since(start).Seconds())
  	}()
  
  	if len(keys) != len(values) {
  		return errors.New("the len of keys is not equal to the len of values")
  	}
  	for _, value := range values {
  		if len(value) == 0 {
  			return errors.New("empty value is not supported")
  		}
  	}
  	bo := NewBackoffer(context.Background(), rawkvMaxBackoff)
  	err := c.sendBatchPut(bo, keys, values)
  	return errors.Trace(err)
  }
docs: // BatchPut stores key-value pairs to TiKV.