-
Notifications
You must be signed in to change notification settings - Fork 273
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add shard service kernel #16565
add shard service kernel #16565
Conversation
… add_sharding_support
… add_sharding_support
… add_sharding_support
… add_sharding_support
… add_sharding_support
… add_sharding_support
PR-Agent was enabled for this repository. To continue using it, please link your git user with your CodiumAI identity here. PR Review 🔍
|
PR-Agent was enabled for this repository. To continue using it, please link your git user with your CodiumAI identity here. PR Code Suggestions ✨
|
ae99b7a
to
7ba9f9a
Compare
… add_sharding_support
* GC needs to consume all the mo_snapshot tables (matrixorigin#16539) Each tenant of the current mo has a mo_snapshot table to store snapshot information. GC needs to consume all mo_snapshot tables. Approved by: @XuPeng-SH * append log for upgrade and sqlExecutoer (matrixorigin#16575) append log for upgrader and sqlExecutor Approved by: @daviszhen, @badboynt1, @zhangxu19830126, @m-schen * [enhancement] proxy: filter CNs that are not in working state. (matrixorigin#16558) 1. filter CNs that are not in working state. 2. add some logs for migration Approved by: @zhangxu19830126 * fix lock service ut (matrixorigin#16517) fix lock service ut Approved by: @zhangxu19830126 * Add cost of GC Check (matrixorigin#16470) To avoid List() operations on oss, tke or s3, you need to add the Cost interface. Approved by: @reusee, @XuPeng-SH * optimize explain info for tp/ap query (matrixorigin#16578) optimize explain info for tp/ap query Approved by: @daviszhen, @ouyuanning, @aunjgr * Bvt disable trace (matrixorigin#16581) aim to exclude the `system,system_metrics` part case. changes: 1. move `cases/table/system_table_cases` system,system_metrics part into individule case file. Approved by: @heni02 * remove log print from automaxprocs (matrixorigin#16546) remove log print from automaxprocs Approved by: @triump2020, @m-schen, @ouyuanning, @aunjgr, @zhangxu19830126 * rmTag15901 (matrixorigin#16585) rm 15901 Approved by: @heni02 * remove some MustStrCol&MustBytesCol (matrixorigin#16361) Remove some unnecessary MustStrCol, MustBytesCol calls. Approved by: @daviszhen, @reusee, @m-schen, @aunjgr, @XuPeng-SH * add bvt tag (matrixorigin#16589) add bvt tag Approved by: @heni02, @aressu1985 * fix a bug that cause load performance regression issue (matrixorigin#16600) fix a bug that cause load performance regression issue Approved by: @m-schen * add case for restore pub_sub (matrixorigin#16602) add case for restore pub_sub Approved by: @heni02 * add shard service kernel (matrixorigin#16565) Add shardservice kernel. Approved by: @reusee, @m-schen, @daviszhen, @XuPeng-SH, @volgariver6, @badboynt1, @ouyuanning, @triump2020, @w-zr, @sukki37, @aunjgr, @fengttt * [BugFix]: Use L2DistanceSq instead of L2Distance during IndexScan (matrixorigin#16366) During `KNN Select` and `Mapping Entries to Centroids via CROSS_JOIN_L2`, we can make use of L2DistanceSq instead of L2Distance, as it avoids `Sqrt()`. We can see the improvement in QPS for SIFT128 from 90 to 100. However, for GIST960, the QPS did not change much. L2DistanceSq is suitable only when there is a comparison (ie ORDER BY), and when the absolute value (ie actual L2Distance) is not required. - In the case of `CROSS JOIN L2` we find the nearest centroid for the Entry using `L2DistanceSq`. `CROSS JOIN L2` is used in both INSERT and CREATE INDEX. - In the case of `KNN SELECT`, our query has ORDER BY L2_DISTANCE(...), which can make use of `L2DistanceSq` as the L2Distance value is not explicitly required. **NOTE:** L2DistanceSq is not suitable in Kmenas++ for Centroid Computation, as it will impact the centroids picked. Approved by: @heni02, @m-schen, @aunjgr, @badboynt1 * add sharding metrics (matrixorigin#16606) add sharding metrics Approved by: @aptend * fix data race (matrixorigin#16608) fix data race Approved by: @reusee * Refactor reshape (matrixorigin#15879) Reshape objects block by block. Approved by: @XuPeng-SH * refactor system variables to support account isolation (matrixorigin#16551) - system variable now is account isolated - table `mo_mysql_compatibility_mode` only saves delta info between account's and cluster's default system variable values - always use session variable except `show global variables` Approved by: @daviszhen, @aunjgr, @aressu1985 * fix merge * [cherry-pick-16594] : fix moc3399 (matrixorigin#16611) When truncate table, if the table does not have any auto-incr col, there is no need to call the Reset interface of increment_service Approved by: @ouyuanning * bump go to 1.22.3, fix make compose and optimize ut script (matrixorigin#16604) 1. bump go version from 1.21.5 to 1.22.3 2. fix `make compose` to make it work 3. `make ut` will read `UT_WORKDIR` env variable to store report, it will be `$HOME` if `UT_WORKDIR` is empty Approved by: @zhangxu19830126, @sukki37 * remove isMerge from build operator (matrixorigin#16622) remove isMerge from build operator Approved by: @m-schen --------- Co-authored-by: GreatRiver <2552853833@qq.com> Co-authored-by: qingxinhome <70939751+qingxinhome@users.noreply.github.com> Co-authored-by: LiuBo <g.user.lb@gmail.com> Co-authored-by: iamlinjunhong <49111204+iamlinjunhong@users.noreply.github.com> Co-authored-by: nitao <badboynt@126.com> Co-authored-by: Jackson <xzxiong@yeah.net> Co-authored-by: Ariznawlll <ariznawl@163.com> Co-authored-by: Wei Ziran <weiziran125@gmail.com> Co-authored-by: YANGGMM <www.yangzhao123@gmail.com> Co-authored-by: fagongzi <zhangxu19830126@gmail.com> Co-authored-by: Arjun Sunil Kumar <arjunsk@users.noreply.github.com> Co-authored-by: Kai Cao <ck89119@users.noreply.github.com> Co-authored-by: Jensen <jensenojs@qq.com> Co-authored-by: brown <endeavorjia@gmail.com>
User description
What type of PR is this?
Which issue(s) this PR fixes:
issue #16438
What this PR does / why we need it:
Add shardservice kernel.
PR Type
Feature, Tests
Description
ShardServiceAddress
field toCNService
andTNService
structs and implemented related methods.Changes walkthrough 📝
metadata.pb.go
Add ShardServiceAddress field and related methods
pkg/pb/metadata/metadata.pb.go
ShardServiceAddress
field toCNService
andTNService
structs.GetShardServiceAddress
method forCNService
andTNService
.MarshalToSizedBuffer
,Size
, andUnmarshal
methods to handleShardServiceAddress
.runtime_test.go
Add tests for shard service runtime operations
pkg/shardservice/runtime_test.go
functionalities.
service_test.go
Add unit tests for shard service operations
pkg/shardservice/service_test.go
scheduler_balance_test.go
Add tests for shard balancing scheduler
pkg/shardservice/scheduler_balance_test.go
service.go
Implement shard service with core functionalities
pkg/shardservice/service.go
functionalities.