Nodes A and B fully in the cluster
Local state before (1): {:pairs {:a :b, :b :a}}
C and D want to join
C sends prepare-join-cluster
(1)
D sends prepare-join-cluster
(2)
A, B, C, and D play the log
B encounters (1)
{:pairs {:a :b, :b :a}}
{:pairs {:a :b, :b :a} :prepared {:b :c}}
notify-join-cluster
(3)A, C, and D encounter (1)
{:pairs {:a :b, :b :a}}
{:pairs {:a :b, :b :a} :prepared {:b :c}}
A, B, C, D encounter (2)
{:pairs {:a :b, :b :a} :prepared {:b :c}}
{:pairs {:a :b, :b :a} :prepared {:b :c}}
abort-join-cluster
to the log, optionally tries to join again laterC encounters (3)
{:pairs {:a :b, :b :a} :prepared {:b :c}}
{:pairs {:a :b, :b :a} :accepted {:b :c}}
accept-join-cluster
(4)A and B encounter (3)
{:pairs {:a :b, :b :a} :prepared {:b :c}}
{:pairs {:a :b, :b :a} :accepted {:b :c}}
B encounters (4)
{:pairs {:a :b, :b :a} :prepared {:b :c}}
{:pairs {:a :c, :b :c, :c :a}}
A and C encounter (4)
{:pairs {:a :b, :b :a} :prepared {:b :c}}
{:pairs {:a :c, :b :c, :c :a}}
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close