Move kvproto to tikv org

There is no suitable category now.

kvproto should be moved to tikv org, and coprocessor related proto definition should be moved to tipb.

Prefer to define a new service named Coprocessor in tipb, and move some rpcs to it.

rpc Coprocessor(coprocessor.Request) returns (coprocessor.Response) {}
rpc CoprocessorStream(coprocessor.Request) returns (stream coprocessor.Response) {}
rpc BatchCoprocessor(coprocessor.BatchRequest) returns (stream coprocessor.BatchResponse) {}

Then move kvproto to tikv org.


The most tricky part should be Go dependency on already.

I found it weird that godev doesn’t show its imported by and thus I cannot evaluate its impact.

I think the old repo url will still be available after the migration (as long as there will be no new kvproto repo in pingcap).
Another problem is that kvproto is something shared by TiKV and TiFlash, but TiFlash is not a tikv project. It seems that TiFlash-only protos (like mpp) should be put in a separate repo.

Sounds good.

Could you tell the boundary of TiFlash-only protos and other protos under kvproto? Is there a clear logical boundary that can guide for the separation?

I think the criterion is whether this proto is going to be implemented in TiKV in the seen future.

MPP is the only obvious TiFlash-only one I see in the kvproto repo because afaik TiKV itself has no plan to support mpp recently.

I think all execution-related protocols should be removed from kvproto.

and move to tipb? There is an undergoing effort trying to get these satellite projects well-owned, we can join the force and get a clear concept cluster.

Moving to tipb LGTM. Is “tipb” stands for “Ti Protocol Buffer”?

It seems to me that execution-related protocols are already in tipb?
The coprocessor protos in kvproto are common protocols for all kinds of user logic running on TiKV.

I can’t agree more, kvproto now is too much

Another problem is that client-rs copys kvproto…

Related issue: