aboutsummaryrefslogtreecommitdiff
path: root/src/table/replication/fullcopy.rs
diff options
context:
space:
mode:
authorYureka <yuka@yuka.dev>2024-03-04 18:37:00 +0100
committerYureka <yuka@yuka.dev>2024-03-04 18:39:56 +0100
commit6760895926c23112583dfc53a01ecbcfad02a276 (patch)
tree6cfad4bd68493aa2038b60f7f2005ec91bcc0509 /src/table/replication/fullcopy.rs
parentbbde9bc91225ac41ea6e8def61c5b7044bb186a0 (diff)
downloadgarage-6760895926c23112583dfc53a01ecbcfad02a276.tar.gz
garage-6760895926c23112583dfc53a01ecbcfad02a276.zip
refactor: remove max_write_errors and max_faults
Diffstat (limited to 'src/table/replication/fullcopy.rs')
-rw-r--r--src/table/replication/fullcopy.rs12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/table/replication/fullcopy.rs b/src/table/replication/fullcopy.rs
index 30122f39..1e52bb47 100644
--- a/src/table/replication/fullcopy.rs
+++ b/src/table/replication/fullcopy.rs
@@ -21,8 +21,6 @@ use crate::replication::*;
pub struct TableFullReplication {
/// The membership manager of this node
pub system: Arc<System>,
- /// Max number of faults allowed while replicating a record
- pub max_faults: usize,
}
impl TableReplication for TableFullReplication {
@@ -45,15 +43,15 @@ impl TableReplication for TableFullReplication {
}
fn write_quorum(&self) -> usize {
let nmembers = self.system.cluster_layout().current().all_nodes().len();
- if nmembers > self.max_faults {
- nmembers - self.max_faults
+
+ let max_faults = if nmembers > 1 { 1 } else { 0 };
+
+ if nmembers > max_faults {
+ nmembers - max_faults
} else {
1
}
}
- fn max_write_errors(&self) -> usize {
- self.max_faults
- }
fn partition_of(&self, _hash: &Hash) -> Partition {
0u16