diff options
author | Yureka <yuka@yuka.dev> | 2024-03-04 18:37:00 +0100 |
---|---|---|
committer | Yureka <yuka@yuka.dev> | 2024-03-04 18:39:56 +0100 |
commit | 6760895926c23112583dfc53a01ecbcfad02a276 (patch) | |
tree | 6cfad4bd68493aa2038b60f7f2005ec91bcc0509 /src/table/replication/fullcopy.rs | |
parent | bbde9bc91225ac41ea6e8def61c5b7044bb186a0 (diff) | |
download | garage-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.rs | 12 |
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 |