Wire raft into memgraph pt.1.
Summary: This is just the first diff that tries to wire the raft protocol into memgraph. In this diff I'm introducing transaction engine reset functionality. I also introduced `RaftInterface` which should be used wherever someone wants to access Raft from Memgraph. For design decisions see the feature spec. Reviewers: ipaljak, teon.banek Reviewed By: ipaljak Subscribers: pullbot, teon.banek Differential Revision: https://phabricator.memgraph.io/D1758
This commit is contained in:
@@ -129,9 +129,10 @@ the following scenario:
|
||||
|
||||
The problem lies in the fact that there is still a record within the internal
|
||||
storage of our old leader with the same transaction ID and GID as the recently
|
||||
committed record by the new leader. Obviously, this is broken. As a solution, we
|
||||
will prefix the transaction ID with the Raft term, thus ensuring that the
|
||||
transaction IDs will differ.
|
||||
committed record by the new leader. Obviously, this is broken. As a solution, on
|
||||
each transition from `Leader` to `Follower`, we will reinitialize storage, reset
|
||||
the transaction engine and recover data from the Raft log. This will ensure all
|
||||
ongoing transactions which have "polluted" the storage will be gone.
|
||||
|
||||
"When will followers append that transaction to their commit logs?"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user