diff --git a/script/dev-configure.sh b/script/dev-configure.sh index bf26c1f..d47e64c 100755 --- a/script/dev-configure.sh +++ b/script/dev-configure.sh @@ -18,6 +18,6 @@ garage status \ | grep UNCONFIGURED \ | grep -Po '^[0-9a-f]+' \ | while read id; do - garage node configure -d dc1 -n 1 $id + garage node configure -d dc1 -c 1 $id done diff --git a/src/garage/main.rs b/src/garage/main.rs index 2d13cd7..8757a1b 100644 --- a/src/garage/main.rs +++ b/src/garage/main.rs @@ -98,9 +98,9 @@ pub struct ConfigureNodeOpt { #[structopt(short = "d", long = "datacenter")] datacenter: Option, - /// Number of tokens - #[structopt(short = "n", long = "n-tokens")] - n_tokens: Option, + /// Capacity (in relative terms, use 1 to represent your smallest server) + #[structopt(short = "c", long = "capacity")] + capacity: Option, /// Optionnal node tag #[structopt(short = "t", long = "tag")] @@ -360,7 +360,7 @@ async fn cmd_status(rpc_cli: RpcAddrClient, rpc_host: SocketAddr) -> Re if let Some(cfg) = config.members.get(&adv.id) { println!( "{:?}\t{}\t{}\t[{}]\t{}\t{}", - adv.id, adv.state_info.hostname, adv.addr, cfg.tag, cfg.datacenter, cfg.n_tokens + adv.id, adv.state_info.hostname, adv.addr, cfg.tag, cfg.datacenter, cfg.capacity ); } else { println!( @@ -387,7 +387,7 @@ async fn cmd_status(rpc_cli: RpcAddrClient, rpc_host: SocketAddr) -> Re adv.addr, cfg.tag, cfg.datacenter, - cfg.n_tokens, + cfg.capacity, (now_msec() - adv.last_seen) / 1000, ); } @@ -396,7 +396,7 @@ async fn cmd_status(rpc_cli: RpcAddrClient, rpc_host: SocketAddr) -> Re if !status.iter().any(|x| x.id == *id) { println!( "{:?}\t{}\t{}\t{}\tnever seen", - id, cfg.tag, cfg.datacenter, cfg.n_tokens + id, cfg.tag, cfg.datacenter, cfg.capacity ); } } @@ -444,14 +444,14 @@ async fn cmd_configure( datacenter: args .datacenter .expect("Please specifiy a datacenter with the -d flag"), - n_tokens: args - .n_tokens - .expect("Please specifiy a number of tokens with the -n flag"), + capacity: args + .capacity + .expect("Please specifiy a capacity with the -c flag"), tag: args.tag.unwrap_or("".to_string()), }, Some(old) => NetworkConfigEntry { datacenter: args.datacenter.unwrap_or(old.datacenter.to_string()), - n_tokens: args.n_tokens.unwrap_or(old.n_tokens), + capacity: args.capacity.unwrap_or(old.capacity), tag: args.tag.unwrap_or(old.tag.to_string()), }, }; diff --git a/src/rpc/ring.rs b/src/rpc/ring.rs index ee0b52e..85caafe 100644 --- a/src/rpc/ring.rs +++ b/src/rpc/ring.rs @@ -35,7 +35,7 @@ impl NetworkConfig { #[derive(Clone, Debug, Serialize, Deserialize)] pub struct NetworkConfigEntry { pub datacenter: String, - pub n_tokens: u32, + pub capacity: u32, pub tag: String, } @@ -88,10 +88,10 @@ impl Ring { }) .collect::>(); - let max_toktok = config + let max_capacity = config .members .iter() - .map(|(_, node_info)| node_info.n_tokens) + .map(|(_, node_info)| node_info.capacity) .fold(0, std::cmp::max); // Fill up ring @@ -108,9 +108,9 @@ impl Ring { let mut remaining = partitions_idx.len(); while remaining > 0 { let remaining0 = remaining; - for toktok in 0..max_toktok { + for i_round in 0..max_capacity { for (node_id, node_info, q, pos) in queues.iter_mut() { - if toktok >= node_info.n_tokens { + if i_round >= node_info.capacity { continue; } for pos2 in *pos..q.len() {