question history:
question 
89 views

Questions on milestone 2

Hi, the milestone 2 document repeatedly mention bootstrap, ECS is the bootstrap server. What does that mean, and what is the start sequence? Do we have to start both KVServer and ECS manually on the command line, or only start ECS which launches KVServer, or only start KVServer which also launches ECS?

Also, I see there's a zookeeper package in the starter code, but zookeeper isn't mentioned in the milestone handout. Are there preferred resources for learning how to integrate zookeeper into our project?

Lastly, the project said we don't have to modify KVClient, but it added a new "keyrange" command:

image.pngNaN

Is keyrange a command that the client can type into the CLI and get the list of key ranges? Or is it just a type of message sent to KVServer to get the key ranges, and the user doesn't get access to this information?

Thank you very much!

 8
Updated by Anonymous Scale

the students' answer,

where students collectively construct a single answer

From the Q&A session of last week, here is what I got:

1. We boot up ECS first. Then, the server is setup with the ECS as a bootstrap server (it connects to ECS on initialization). The ECS should also have a CLI through which you can initialize additional KVServers.

2. Zookeeper was a requirement for earlier semesters. But we don't have to implement it for this semester of the course. Maybe the teaching team could consider release previous years design specifications about zookeeper as well.

3. the client will keep metadata of the server keyranges (though maybe stale). keyrange may relate to retrieval of that.

If anything unfactual, please help me revise.

 4
Updated by Muhammed Yakubu and Minghao Li
followup discussionsfor lingering questions and comments