-
Notifications
You must be signed in to change notification settings - Fork 0
Self-progress tracking #1
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
base: course
Are you sure you want to change the base?
Conversation
9fdc72a to
b0aa17e
Compare
40ee827 to
77f0471
Compare
Signed-off-by: Connor1996 <[email protected]>
57997ca to
097fab7
Compare
d0fdf3b to
ca3912f
Compare
Signed-off-by: Hans <[email protected]>
Signed-off-by: Connor1996 <[email protected]>
6221358 to
99cd750
Compare
|
I feel one simple section of the simple scheduler implementation cannot do justice to the marvelous topic of cluster monitoring, load balancing, and directory/discovery service as implemented in the current placement driver. I somehow hacked the proto files so that up to project 3b, the entire setup can be bootstrapped by a version of the official placement driver (no further testing is done except writing and reading a few keys using raw kv api). |
Signed-off-by: linning <[email protected]>
|
In the end, project 4 is also a wonderful topic containing many important transaction manager design ideas. The leader of the region holding the primary becomes the coordinator/lock table, and concurrency control is using a centralized clock service, and finally, the two-phase commit ensuring all-or-nothing across regions is also borrowed from the percolator paper. I was cheating as the test case did not have region error nor does the interface of the storage module surface these errors (unfortunately), so I did not implement these error handlings. But in general, these should result in a big error and ask the client to retry. Overall, great project, really learned a lot. Kudos to the PingCAP team for bringing this. |
Also, added a basic raw kv interface demo and remove the scheduler part.
|
My implementation of dynamic membership change is subject to this bug: https://groups.google.com/g/raft-dev/c/t4xj6dJTP6E Curiously, it was also mentioned in https://github.com/eBay/NuRaft/blob/6d371ddcc6bc0a9b8aaad4e57e9859adbc111d85/src/raft_server.cxx#L138 |
Great project BTW!