Replication development flow

There is no need to handle Replicas manually when developing and fixing replication features. There are two ways running in interactive cluster and e2e tests. The easiest way to dive in to see what you can do is to watch the video about Buda explaining this.

https://www.youtube.com/watch?v=I51Pb6BKYsE

The video contains e2e testing of replication and running interactive clusters.

Running interactive cluster

In order to run in interactive cluster you can use the intreactive_mg_runner.py. Cluster is defined by the MEMGRAPH_INSTANCES_DESCRIPTION. For rest of the details dive into the the Python script, here is a quick summary of how to use cluster.

To start interactive mg runner run:

python3 interactive_mg_runner.py 

Once you are inside interactive_mg_runner.py start replication cluster via following command:

ACTION>start all

For information about started cluster run following command:

ACTION>info

Currently supported actions:

ACTIONS = {
    "info": lambda context: info(context),
    "stop": lambda context, name: stop(context, name),
    "start": lambda context, name: start(context, name),
    "sleep": lambda context, delta: time.sleep(float(delta)),
    "exit": lambda context: sys.exit(1),
    "quit": lambda context: sys.exit(1),
}

Running e2e replication tests

TODO: @Ante Javor

State of replication(TODO @Ante Javor from https://www.notion.so/memgraph/Replication-fbf9b57154074008bcf9e35e523f9437?pvs=4)