Skip to content

Instantly share code, notes, and snippets.

@dorony
dorony / data_loss_calculator.py
Created October 11, 2021 07:45
Compute chance of data loss in Elasticsearch cluster
# https://martin.kleppmann.com/2017/01/26/data-loss-in-large-clusters.html
from math import factorial
def compute_data_loss_chance(num_failed_nodes, num_total_nodes, num_replicas, num_shards):
f = num_failed_nodes
n = num_total_nodes
r = num_replicas
k = num_shards
nominator = factorial(f) * factorial(n - r)