tikv/community

Transfer tidb_xxxx components to pingcap org

BusyJay opened this issue · 2 comments

Due to historical reasons, components like tidb_query_aggr, tidb_query_expr etc. are put in tikv repository as they are part of coprocessor. But it may not be a good choice as they are highly tidb specific, may not suitable for a general KV project. And we also lack of active maintainers/committers for these components. So I suggest to move these components to pingcap org.

The components to be moved include:

  • tidb_query_expr
  • tidb_query_codegen
  • tidb_query_common
  • tidb_query_datatype
  • tidb_query_executors

They also depend on some of internal components including

  • log_wrappers
  • codec
  • collections
  • tikv_util
  • file_system

They should be either published to crates.io or inlined all used functions/types.

After this change, these projects will not be part of tikv/tikv anymore. But they will still be part of release binaries.

Any thoughts?

skyzh commented

I think we should probably go toward this direction. But there're some more practical problems to solve.

How can we run CI for copr? Currently we rely on integration-copr-test to ensure it works (though it has been failing on main branch for months). Moving copr to a separate repo would make things harder, as we see them as standalone modules and may only run unit tests for them.

We still need to include it in TiKV release binaries, so CI may clone the transferred repository during compilation. And the new repo, perhaps named tidb-query, may work as an add-on. So CI can still be run on demand. Though I would suggest to run integration-copr-test in tidb-query repo instead of tikv repo.