After the cluster expansion completes the slot migration, the total dbsize value of all shard master nodes is greater than the value before the expansion
- Dominant language
- C++
- Stars
- 4.4k
- Forks
- 658
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 10
Description
### Search before asking
- [X] I had searched in the [issues](https://github.com/apache/kvrocks/issues) and found no similar issues.
### Version
v2.9.0
### Minimal reproduce step
1、kvrocks version:v2.9.0
2、init env:3 shard,One master and one slave,Single Node Specifications:8C16G、disk:500GB
3、After expansion:5 shard,One master and one slave,Single Node Specifications:8C16G、disk:500GB
4、Expansion method:Calling the controller interface
5、Phenomenon:
Before expansion: the total dbsize value of all shard master nodes:12484
After expansion:the total dbsize value of all shard master nodes:12489
### What did you expect to see?
The total dbsize of all master nodes is equal before and after expansion
### What did you see instead?
Before expansion: the total dbsize value of all shard master nodes:12484
After expansion:the total dbsize value of all shard master nodes:12489
### Anything Else?
Migration interface for controllers:
POST /api/v1/namespaces/clusters/{cluster name}/migrate
{
"target": 4,
"slot": 1000,
"slot_only": false
}
### Are you willing to submit a PR?
- [X] I'm willing to submit a PR!
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the controller migration entry point, POST /api/v1/namespaces/{cluster name}/migrate, and reproduce the three-to-five-shard expansion described for v2.9.0. Trace slot migration and dbsize accounting across the shard masters; done means the total dbsize remains equal before and after expansion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, redis
- Domain
- databases, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100