memgraph/tests
Matija Santl 5e6cf0724a Implement StateDelta apply method for Raft
Summary:
TransactionReplicator replicates transactions on follower machines in
HA memgraph. Our DB accessor API doesn't provide us with the functionality to
begin transactions with non-increasing ids. This is why the
`TransactionReplicator` uses a internal map that maps tx ids from the leader
node to transactions on the follower node (whose id doesn't have to match the
leaders tx id).

If the leader has the following transaction timeline:

```
    L
tx1
 |
 |   tx2
 |    |
 |    |
 |    |
 |    |
 |    |
 |   tx2
 |
 |
 |
 |
tx1
```

`tx2` will commit first and will be replicated. When applying `tx2` on follower
nodes, they will start a new transaction with tx id `1`.  When `tx1` starts
replicating, followers will start a new transaction with tx id `2`. And this is
wehre `TransactionReplicator` kicks in.

Reviewers: ipaljak

Reviewed By: ipaljak

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D1775
2018-12-14 14:26:40 +01:00
..
benchmark Convert symbol.hpp to LCP 2018-11-22 09:52:18 +01:00
concurrent Add explicit start to servers 2018-10-16 11:39:42 +02:00
distributed Fix distributed tests exit code 2018-11-07 22:46:55 +01:00
drivers Integrate driver tests with Apollo 2018-08-22 18:31:37 +02:00
feature_benchmark Remove virtual and pimpl from single node 2018-10-09 11:48:30 +02:00
integration Fix integration distributed test flakiness 2018-10-26 10:17:23 +02:00
macro_benchmark Fix parallel macro benchmarks 2018-11-06 16:49:12 +01:00
manual Extract QueryVisitor from HierarchicalTreeVisitor 2018-11-12 12:53:25 +01:00
property_based Remove virtual and pimpl from single node 2018-10-09 11:48:30 +02:00
public_benchmark Update LDBC query implementation 2018-07-10 10:08:21 +02:00
qa Refactor QA 2018-12-04 12:33:48 +01:00
stress Polish Bolt client and mg_client 2018-10-19 13:55:51 +02:00
unit Implement StateDelta apply method for Raft 2018-12-14 14:26:40 +01:00
apollo_runs.py Add LCP tests 2018-10-15 11:52:20 +02:00
client-stress.sh Migrate command line args to gflgs in tests 2017-07-06 13:54:12 +02:00
CMakeLists.txt Add kafka benchmark 2018-08-29 16:35:31 +02:00