rpc 中有多种命令类型,分别是哪些操作会触发这些命令

在mocktikv\rpc.go文件中的sendrequest方法里,不同的请求类型会调用不同的请求接口,请求类型有cmdget, cmdscan(查询并不会调到前面这两种请求类型,很疑惑), cmdcommit等等,不清楚什么sql能调到对应的请求类型,希望提供相关文档。

1赞

文档新增需求

如果这是个 文档新增需求 ,请按照下方模板提交,以便于我们更快了解到你的需求,进行优化:

  • 需求类型:新增文档
  • 需求背景:比如缺少哪部分文档,对使用有什么影响
  • 期望增加哪些组件或者功能的文档,加到现有文档的哪个位置

这是一个文档需求,已经提交给对应的老师,
文档老师会在相关的文档上补充下这个介绍,有进度会同步回复给你~

这些rpc只是和kv store的接口,并不和sql语句有强对应关系。在一些情况下,没有sql执行的时候,也会调用这些rpc接口去kv获取信息。
如tidb server启动的时候,会启动一个DDL work,work就会定时调用cmdget接口去kv获取一些信息,这时候并没有任何的sql语句在执行,参考
如果对tikv的rpc接口的实现和作用感兴趣的话,可以通过这个链接学习了解,后续也会整理一个比较清晰的文档。

1赞

如果是select语句的话,应该都会涉及到tikvrpc.CmdCop,具体select语句的流程可以看下面的链接,链接

如果是事物相关的话,因为tidb是2pl的,所以会有CmdPrewrite和CmdCommit