Skip to content

Conversation

@hhow09
Copy link
Owner

@hhow09 hhow09 commented Aug 24, 2024

Part B: Sharded Key/Value Server (60 points)

Task

Your first task is to pass the very first shardkv test. 
In this test, there is only a single assignment of shards, so your code should be very similar to that of your Lab 3 server. 
The biggest modification will be to have your server detect when a configuration happens and start accepting requests whose keys match shards that it now owns. 

Task

Implement shard migration during configuration changes. 
Make sure that all servers in a replica group do the migration at the same point in the sequence of operations they execute, so that they all either accept or reject concurrent client requests. 
You should focus on passing the second test ("join then leave") before working on the later tests. 
You are done with this task when you pass all tests up to, but not including, TestDelete. 

hhow09 added 2 commits August 25, 2024 12:19
 - setup kv server like lab3
 - state machine -> shards
 - determine shard id on key
 - monitor configuration changes and apply to raft
hhow09 added 2 commits August 26, 2024 02:00
    - define shard status
    - implment PullShardRPC and InsertShard
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants