class Movie::Cluster::KeepMajorityCoordinator

Overview

Dependency-free split-brain resolver. Decisions use the last stable membership view: the larger eligible partition survives and the globally lowest eligible address breaks ties. Ambiguous, continuously changing views fail closed instead of allowing both sides to keep running indefinitely.

Defined in:

movie/cluster/keep_majority.cr

Constructors

Instance Method Summary

Instance methods inherited from class Movie::Cluster::SplitBrainCoordinator

check_interval : Time::Span check_interval, evaluate(now : Time::Instant = Time.instant) : Nil evaluate, stats : SplitBrainStats stats, stop : Nil stop, strategy : SplitBrainStrategy strategy

Constructor Detail

def self.new(cluster : ClusterSafetyView, settings : KeepMajoritySettings, shutdown : Proc(String, Nil)) #

[View source]

Instance Method Detail

def check_interval : Time::Span #

[View source]
def evaluate(now : Time::Instant = Time.instant) : Nil #

[View source]
def state : SplitBrainState #

[View source]
def stats : SplitBrainStats #

[View source]
def stop : Nil #

[View source]
def strategy : SplitBrainStrategy #

[View source]