raft icon indicating copy to clipboard operation
raft copied to clipboard

Implement a self-contained raft example

Open ahrtr opened this issue 2 years ago • 15 comments

Refer to raftexample . But this example should NOT depend on etcd at all.

cc @Elbehery

ahrtr avatar Nov 28 '22 02:11 ahrtr

Thanks a lot @ahrtr

assigning myself :)

Elbehery avatar Nov 28 '22 04:11 Elbehery

i can't assign myself, can you please assign me ?

Elbehery avatar Nov 28 '22 04:11 Elbehery

I would also like to participate if don't mind : )

nic-chen avatar Nov 28 '22 13:11 nic-chen

Hi @ahrtr @Elbehery @nic-chen Can I pick this up? I'm new to distributed systems, so this would be a good learning exercise for me.

aroradaman avatar Dec 30 '22 19:12 aroradaman

interested in this and tend to try one if you guys has not done it

halegreen avatar Jan 07 '23 07:01 halegreen

I am already working on it, thanks for your help :)

Elbehery avatar Jan 07 '23 07:01 Elbehery

Not sure if this applies to other beginners, but I spend some time looking at the etcd server's code to understand how to wait for a proposal's commit. Thus, it would be great if we can somehow support it (probably by integrating with wait if my understanding is right.)

XiongKezhi avatar Jan 12 '23 04:01 XiongKezhi

Can I take this over?

CaojiamingAlan avatar May 24 '23 05:05 CaojiamingAlan

sorry, i am working on it :)

Elbehery avatar May 24 '23 08:05 Elbehery

I expect the self-contained example should be a simple & independent example. But the PR https://github.com/etcd-io/raft/pull/67 contains lots of etcd related context. Although the PR doesn't directly depend on etcd, it copies lots of etcd's source code, which may not be good.

The overall idea (using interfaces to better separate concerns) in https://github.com/etcd-io/etcd/pull/15471 looks good to me, but we also need to completely remove the etcd context on top of it. @mhagger

ahrtr avatar Jul 10 '23 08:07 ahrtr

@ahrtr If we need to implement a Raft self-contained example based on the current library, then do we only need to focus on the in-memory state, and we can without thinking about data persistence and data recovery in case of failure, such as wal and data storage ?

aierui avatar Sep 26 '23 15:09 aierui

What's the progress of this issue?

peacedog123 avatar Jan 30 '24 13:01 peacedog123

i have a pending PR .. will continue it this week 👍🏽

thanks @peacedog123

Elbehery avatar Jan 30 '24 18:01 Elbehery

Hi @Elbehery - is it still happening at your end ?. would be helpful to have this example for newbies in the repo.

sumitya avatar Apr 05 '24 13:04 sumitya

Hello .. it is still WIP

Elbehery avatar Apr 05 '24 14:04 Elbehery