Open zhangyangyu opened 2 years ago
can we move the coprocessor logic from java-client to tispark during the work of normizing client-java library?
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.
This issue is stale because it has been open 30 days with no activity.
pingcap/tispark#2491
This issue is stale because it has been open 30 days with no activity.
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.