[Feature]: For range partitioning, all keys in a partition are sharded onto the same ccshard. #396
Description
Currently, for range partitioning, keys within the same partition are evenly distributed across all ccshards. To shard all these keys onto the same ccshard, several issues need to be considered, including but not limited to the following:
-
When to split a range.
To avoid single-core bottlenecks, ranges need to be split promptly, rather than waiting for the checkpoint process to trigger a range split.
[Possible solution]: Track the range size during the write transaction commit process, and trigger range splitting if the threshold is reached. -
Adjust the algorithm of the
key shard codeso that all keys in the same range are sharded onto the samecore. -
Modify the execution logic of
ScanSliceCcto remove result processing operations for multi-core parallel scanning mode, such as alignment of end keys and merging of scan results. -
Modify the execution logic of
DataSyncto remove processing operations on scan results in multi-core mode, such as merge operations. -
Modify the backfill logic in the
LoadSliceoperation. -
[Advance] During range splitting, to avoid a decrease in cache hit rate, cross-core data migration may be required in memory (currently, only cross-node memory data migration is possible).
Activity
yangsw26 commentedon Feb 11, 2026
DataSynctask for range splitting.yangsw26 commentedon Mar 9, 2026
Perform regression testing and fix bugs.
yangsw26 commentedon Mar 12, 2026
EloqDoc test passed.
yangsw26 commentedon Mar 12, 2026
In EloqSQL testing, the explain results showed mismatch.
yangsw26 commentedon Mar 12, 2026
yangsw26 commentedon Mar 13, 2026
yangsw26 commentedon Mar 13, 2026
For test: subselect_sj.test
yangsw26 commentedon Mar 13, 2026
Deadlock caused by range splits and drop tables.