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