From b658bf51a03db30dc1415f753c2a989fe2e49a5c Mon Sep 17 00:00:00 2001 From: Georgy Moshkin <gmoshkin@picodata.io> Date: Tue, 6 Dec 2022 12:59:26 +0300 Subject: [PATCH] refactor(storage): Clusterwide { state: State } -> Clusterwide { properties: Properties } --- src/governor/mod.rs | 11 +++++++---- src/storage.rs | 12 ++++++------ src/traft/node.rs | 2 +- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/governor/mod.rs b/src/governor/mod.rs index 87298f317d..4439675948 100644 --- a/src/governor/mod.rs +++ b/src/governor/mod.rs @@ -362,7 +362,7 @@ impl Loop { if let Some(replicaset) = storage.replicasets.get(&instance.replicaset_id)? { Cow::Owned(replicaset.master_id) } else { - let vshard_bootstrapped = storage.state.vshard_bootstrapped()?; + let vshard_bootstrapped = storage.properties.vshard_bootstrapped()?; let req = OpDML::insert( ClusterwideSpace::Replicaset, &Replicaset { @@ -413,7 +413,7 @@ impl Loop { }); if let Some(instance) = to_shard { let res = (|| -> Result<()> { - let vshard_bootstrapped = storage.state.vshard_bootstrapped()?; + let vshard_bootstrapped = storage.properties.vshard_bootstrapped()?; let commit = raft_storage.commit()?.unwrap(); let reqs = maybe_responding(&instances).map(|instance| { ( @@ -585,7 +585,7 @@ impl Loop { //////////////////////////////////////////////////////////////////////// // applying migrations - let desired_schema_version = storage.state.desired_schema_version().unwrap(); + let desired_schema_version = storage.properties.desired_schema_version().unwrap(); let replicasets = storage.replicasets.iter().unwrap().collect::<Vec<_>>(); let mut migrations = storage.migrations.iter().unwrap().collect::<Vec<_>>(); let commit = raft_storage.commit().unwrap().unwrap(); @@ -737,7 +737,10 @@ fn get_weight_changes<'p>( instances: impl IntoIterator<Item = &'p Instance>, storage: &Clusterwide, ) -> Option<ReplicasetWeights> { - let replication_factor = storage.state.replication_factor().expect("storage error"); + let replication_factor = storage + .properties + .replication_factor() + .expect("storage error"); let replicaset_weights = storage.replicasets.weights().expect("storage error"); let mut replicaset_sizes = HashMap::new(); let mut weight_changes = HashMap::new(); diff --git a/src/storage.rs b/src/storage.rs index 6945ca5862..2ff22a95d7 100644 --- a/src/storage.rs +++ b/src/storage.rs @@ -83,7 +83,7 @@ impl ClusterwideSpace { #[derive(Clone, Debug)] pub struct Clusterwide { - pub state: State, + pub properties: Properties, pub instances: Instances, pub peer_addresses: PeerAddresses, pub replicasets: Replicasets, @@ -93,7 +93,7 @@ pub struct Clusterwide { impl Clusterwide { pub fn new() -> tarantool::Result<Self> { Ok(Self { - state: State::new()?, + properties: Properties::new()?, instances: Instances::new()?, peer_addresses: PeerAddresses::new()?, replicasets: Replicasets::new()?, @@ -103,16 +103,16 @@ impl Clusterwide { } //////////////////////////////////////////////////////////////////////////////// -// State +// Properties //////////////////////////////////////////////////////////////////////////////// -/// A struct for accessing storage of the cluster-wide key-value state +/// A struct for accessing storage of the cluster-wide key-value properties #[derive(Clone, Debug)] -pub struct State { +pub struct Properties { space: Space, } -impl State { +impl Properties { const SPACE_NAME: &'static str = ClusterwideSpace::Property.as_str(); const INDEX_PRIMARY: &'static str = "pk"; diff --git a/src/traft/node.rs b/src/traft/node.rs index b15397d56f..d08c5609c8 100644 --- a/src/traft/node.rs +++ b/src/traft/node.rs @@ -401,7 +401,7 @@ impl NodeImpl { } let replication_factor = self .storage - .state + .properties .get(PropertyName::ReplicationFactor)? .ok_or_else(|| Error::other("missing replication_factor value in storage"))?; Topology::new(instances).with_replication_factor(replication_factor) -- GitLab