Konrad `ktoso` Malawski
Konrad `ktoso` Malawski
Enable tagging cluster members with roles. Roles then can have their individual leaders and be used as sub-set of a cluster, e.g. for CRDTs which only need to be spread...
Here's what to test: - Hold "old ref" while new associated node on same host:port is associated - so the ref refers to some UniqueNode with ID 1111 (example) -...
I currently did convergence a bit more conservative to get things quite hardened but it should not need to be so I think. ```swift // FIXME: we should not need...
Would be nice to model the merge formally, to sanity check we're not missing any edge case. The merges are generally simple, except for removal which involves some special handling.
We have two styles, let's stick to shouldEqual etc
We allow a node to replace another, a replacement means an immediate down of "previous instance on same host/port". Write some tests for high level membership where we perform node...
Just an idea and not really critical as we should issue a shutdown then anyway. To consider: - should the leadership do anything special if we notice we are going...
Simple node discovery based on DNS querying Allow configuring this so someone could just say in settings of actor system "use DNS, that's the service name" etc
People might implement naive service discovery that keeps issuing `join(the same node)` all over again many times. This should be fine and not cause any issues.
Add a random factor `Double` to: ```swift public enum Backoff { // TODO: implement noLongerThan: .seconds(30), where total time is taken from actor system clock /// Backoff each time using...