tikv / client-java

TiKV Java Client
https://tikv.github.io/client-java/
Apache License 2.0
111 stars 108 forks source link

Incoporate TiSpark TiKV Java client #514

Open zhangyangyu opened 2 years ago

zhangyangyu commented 2 years ago

Feature Request

Is your feature request related to a problem? Please describe:

Currently TiSpark maintains a com.pingcap.tikv/tikv-client module. This is an fork of the previous tikv-client package. Gradually, some enhancments only for TiSpark are added and the fork diverges from the current official tikv-client. This presents some difficulties:

Enhancements, bugfixes made for TiSpark tikv-client not impact the official tikv-client, vice versa For TiSpark developers, it's really hard to keep with fast TiKV development pace, especially TiKV now is released every two months. It's a big development burden. Present two alternatives to users, alike, confusing, hard to choose.

Describe the feature you'd like:

We'd like to normalize the Java client, using the official one. This includes:

Change from TiSpark tikv-client to official tikv-client. Test the compatibility of the new client. All current behaviours should preserve. For any incompatiblity, change the upstream tikv-client or TiSpark.

zz-jason commented 2 years ago

can we move the coprocessor logic from java-client to tispark during the work of normizing client-java library?

zz-jason commented 2 years ago

For example, TiDB determines pushing-down SQL operator and expression in the plan building phase, see https://github.com/pingcap/tidb/blob/master/planner/core/plan_to_pb.go and https://github.com/pingcap/tidb/blob/master/expression/expr_to_pb.go for detail.

Decode coprocessor results from TiKV response is handled by distsql, see https://github.com/pingcap/tidb/blob/master/distsql/select_result.go for detail.

After moving these code logic to TiSpark, client-java can be a pure general-purpose TiKV client which only responsible for sending requests to and receiving responses from the TiKV cluster just like client-go.

github-actions[bot] commented 2 years ago

This issue is stale because it has been open 30 days with no activity.

yegetables commented 2 years ago

pingcap/tispark#2491

github-actions[bot] commented 2 years ago

This issue is stale because it has been open 30 days with no activity.