Questions tagged [raft]

A distributed consensus protocol designed to be easy to understand. It's equivalent to Paxos in fault-tolerance and performance.

Click for source

Raft is a consensus algorithm that is designed to be easy to understand. It's equivalent to Paxos in fault-tolerance and performance. The difference is that it's decomposed into relatively independent subproblems, and it cleanly addresses all major pieces needed for practical systems. We hope Raft will make consensus available to a wider audience, and that this wider audience will be able to develop a variety of higher quality consensus-based systems than are available today.

Consensus is a fundamental problem in fault-tolerant distributed systems. Consensus involves multiple servers agreeing on values. Once they reach a decision on a value, that decision is final. Typical consensus algorithms make progress when any majority of their servers are available; for example, a cluster of 5 servers can continue to operate even if 2 servers fail. If more servers fail, they stop making progress (but will never return an incorrect result).

Consensus typically arises in the context of replicated state machines, a general approach to building fault-tolerant systems. Each server has a state machine and a log. The state machine is the component that we want to make fault-tolerant, such as a hash table. It will appear to clients that they are interacting with a single, reliable state machine, even if a minority of the servers in the cluster fail. Each state machine takes as input commands from its log. In our hash table example, the log would include commands like set x to 3. A consensus algorithm is used to agree on the commands in the servers' logs. The consensus algorithm must ensure that if any state machine applies set x to 3 as the nth command, no other state machine will ever apply a different nth command. As a result, each state machine processes the same series of commands and thus produces the same series of results and arrives at the same series of states.

259 questions
0
votes
0 answers

How does etcd guarantee order of sent messages?

I don't seem to find out how etcd guarantees that messages sent by the same (follower) node will be received in order. The message struct does not seem to include a 'sent index', e.g., for MSGProp which does not even include the term. On the same…
savx2
  • 1,011
  • 2
  • 10
  • 28
0
votes
1 answer

Corda RAFT TLS V1

Has been changed the RAFT implementation on Corda Version 3 or it is similar to Version 2 and is not possible to disabled TLS v1? We know Corda use TLS v1.2 but v1 is still active and we need to completely disabled. Is there a way to perform that…
0
votes
1 answer

python threading method stuck

I have a class MyClass which creates 7 threads when it is initialized. One thread is a TCPServer, and the other six are objects of MyClass which the TCPServer uses to process requests. My intention is to create method which can run in the background…
Matt Hall
  • 331
  • 1
  • 4
  • 13
0
votes
1 answer

Will the behavior "Committing entries from previous terms" of raft cause unexpected result?

In raft's paper, there is a situation described by the figure. the entry2 may be commited after server1 restart. my question is: If entry2 is requested by mistake, the request of client failed because of the failed of server1. Thus, the client may…
Dehai Chen
  • 60
  • 7
0
votes
0 answers

Does impala scan (READ_LATEST mode) inconsistency only arise during leader change?

When I try to use impala to transfer massive data (about 100G) for one time and select count(1) immediately, I get the wrong total count. Then I execute the same sql again, the total count is correct. I want to know besides leader change, is there…
Tony Li
  • 11
  • 1
0
votes
0 answers

Not able to build Raft implementation of LogCabin using scons and Protobuf 3

I am not able to build RAFT implementation of LogCabin (C++) using scons and protobuf3 in Ubuntu. Errors be like usr/local/include/google/protobuf/repeated_field.h: In member function ‘int…
Kaustubh
  • 1
  • 1
0
votes
2 answers

Integrate thrift implementation of a distributed data system (client, servers) with Raft protocol

So, first of all, sorry for my English. Im not a native speaker. The question is.. I already have a implementation of a Cliente-Server application with distributed data (3 servers) using Thrift. Now (the last phase of the project) is to use some…
0
votes
1 answer

Raft replication under partition

7 member cluster, one of which is the leader. Leader attempts to replicate log (some write) Network partition occurs. 3 and 4 members respectively. Leader ends up in minority partition Leader only reaches 2 followers → replication failure What…
thwd
  • 23,956
  • 8
  • 74
  • 108
0
votes
1 answer

raft: log cleaning and AppendEntries

Log cleaning would remove entries which does not contribute to current state, then how to construct AppendEntries for those removed entries if they are needed for slow followers or new member? Need to modify AppendEntries so that it could contain…
kingluo
  • 1,679
  • 1
  • 13
  • 31
0
votes
1 answer

Raft - does it handle only fail-stop failures?

The slides on Raft from Stanford (https://ramcloud.stanford.edu/~ongaro/userstudy/raft.pdf) present that Raft handles the following failure model: fail-stop (not Byzantine), delayed/lost messages. Does it mean that in some fail-recover cases it can…
ady
  • 1,108
  • 13
  • 19
0
votes
1 answer

How make better timeout function

I was using time.After(time), which is working OK. My question is: Is it precise and should I use this or should I make my own function? I am using this with a Raft Consensus algorithm implementation.
-1
votes
1 answer

raft consensus in network partitions

I am following this site to learn raft: http://thesecretlivesofdata.com/raft/ Questions: If there are 9 nodes and network partitions lead to 3 subsets each with 3 nodes: {0, 1, 2}, {3, 4, 5}, and {6, 7, 8}, there is no majority in any subset? In…
SuperBald
  • 109
  • 1
  • 12
-1
votes
1 answer

Assume that there are 101 nodes in a Raft cluster. Then, to succeed an operation, how many responses are required in the cluster?

I know that the leader's response is required, but are other nodes required to respond in order for the operation to succeed?
metric
  • 1
-1
votes
1 answer

does anyone have any recommendatation for Multi-Paxos?

I've quite understood what the Raft is and implemented it in MIT6.824 distributed system. I also know what's the basic Paxos, I've not implemented this yet, so I can't grab all details of it. For Multi-Paoxs, I'm even more confused, i.e., WHY it can…
stickers
  • 83
  • 1
  • 6
-1
votes
1 answer

Raft ,why the newer leader's term is bigger than older one

how raft follower rejoin after network disconnected? Just the same as it. However, will the log in machine 0 replaced by machine 1? The committed log after machine 0 left will be nothing? Machine 1 has a greater term, and it will be the…
Eridani
  • 1
  • 1
1 2 3
17
18