module Karma::Replication

Defined in:

replication.cr
replication/poller.cr
replication/snapshot_client.cr

Constant Summary

LSN_FILE_NAME = "karma.replication.lsn"
LSN_MUTEX = Mutex.new
METRICS_MUTEX = Mutex.new

Class Method Summary

Class Method Detail

def self.apply(entries : Array(Karma::Wal::Entry), cluster : Cluster, dump_dir = Karma.config.dump_dir) : UInt64 #

[View source]
def self.bootstrap_from_snapshots(dump_dir = Karma.config.dump_dir) : UInt64 #

[View source]
def self.checkpoint(lsn : UInt64, dump_dir = Karma.config.dump_dir) : UInt64 #

[View source]
def self.lsn_path(dump_dir = Karma.config.dump_dir) : String #

[View source]
def self.record_bootstrap_attempt : Nil #

[View source]
def self.record_bootstrap_error(error : String) : Nil #

[View source]
def self.record_bootstrap_success : Nil #

[View source]
def self.record_poll_attempt : Nil #

[View source]
def self.record_poll_error(error : String) : Nil #

[View source]
def self.record_poll_success : Nil #

[View source]
def self.record_source_lsn(lsn : UInt64) : Nil #

[View source]
def self.replayed_lsn(dump_dir = Karma.config.dump_dir) : UInt64 #

[View source]
def self.reset! : Nil #

[View source]
def self.status(master_lsn : UInt64 | Nil = nil, dump_dir = Karma.config.dump_dir) #

[View source]