Discussion about the coprocessor protocol, which is used by both TiKV and TiFlash, including its definition and execution.
The coprocessor is more than its protocols. Currently, it also involves the implementation of the TiDB vectorized execution framework on the TiKV side and has a plugin framework introduced recently.
sig-copr members don’t have permission to operate on the kvproto repo and the tipb repo. They are closely related to the coprocessor, but not owned by sig-copr members.
Agreed with @skyzh.
For now, I think we don’t need category for copr.
Do you have a reason why a category of copr is unnecessary? I think it is not for
sig-copr but the concept coprocessor among TiDB as a distributed computing system.
Coprocessor plugin, the protocol and the execution of coprocessor are significant parts of TiDB.
But yes, if there is no content, a category is meaningless.
In fact, I mean coprocessor category should not be limited to protocols and should include such things
I’m a bit confused that this is a forum for TiDB, should we need to include content from TiKV?
Not solely for TiDB, but for ecosystem around that. Welcome to TiDB Internals
I agree with @skyzh.
Generally speaking, we talk about TiDB executor when we are talking about Coprocessor. It isn’t worth adding a category for
Yep. In my mind the concept is
coprocessor but I’m unclear the border.
tipb are parts of it, not a separated category request.
I think TiFlash also follows the coprocessor protocol.
coprocessor mentioned in community discussion always indicates computation push down in TiDB world, which is like
distsql in CockroachDB world and
coprocessor in HBase world(not exactly).
IMO, nobody should care about the
coprocessor protocol. If someone really want to know how does TiDB implement
coprocessor, I would tell him: TiDB sends
DAGRequest to TiKV or TiFlash nodes and receive
Chunks as result from them. That’s enough.
IMO, we do not need a category for
But I think it’s ok to maintain a category for
With an offline discussion with @TennyZhuang and several previous discussions, possibly
tidb-server category proposed in the other thread is too much wider than it would be, while the most significant part of coprocessor is actually distributed execution as mentioned @leiysky.
Thus I’d suggest create
- execution, including topics for coprocessor.
- tidb-server, for things inside pingcap/tidb exclude distsql, and if other components show their activity, for example the optimizer, parser or privilege, spawn a new category on demand.
for these two category requests, separately.
Then tidb-server will introduce further confusion.
I suggest leave things in chaos and let it grow naturally, like we first introduce the
execution category, and leave all others uncategorized for now.
Make sense, taking down tidb-server.