diff --git a/backend/telemetry_core/src/state/chain.rs b/backend/telemetry_core/src/state/chain.rs index d5df95b..9cb3e46 100644 --- a/backend/telemetry_core/src/state/chain.rs +++ b/backend/telemetry_core/src/state/chain.rs @@ -96,16 +96,16 @@ impl Chain { } } - /// Can we add a node? If not, it's because the chain is at its quota. + /// Is the chain the node belongs to overquota? pub fn is_overquota(&self) -> bool { // Dynamically determine the max nodes based on the most common // label so far, in case it changes to something with a different limit. - self.nodes.len() < max_nodes(self.labels.best()) + self.nodes.len() >= max_nodes(self.labels.best()) } /// Assign a node to this chain. pub fn add_node(&mut self, node: Node) -> AddNodeResult { - if !self.is_overquota() { + if self.is_overquota() { return AddNodeResult::Overquota; } diff --git a/backend/telemetry_core/tests/e2e_tests.rs b/backend/telemetry_core/tests/e2e_tests.rs index 49cfd3c..8fdc639 100644 --- a/backend/telemetry_core/tests/e2e_tests.rs +++ b/backend/telemetry_core/tests/e2e_tests.rs @@ -637,7 +637,7 @@ async fn slow_feeds_are_disconnected() { tokio::time::sleep(Duration::from_secs(5)).await; // Drain anything out and expect to hit a "closed" error, rather than get stuck - // waiting to receive mroe data (or see some other error). + // waiting to receive more data (or see some other error). loop { let mut v = Vec::new(); let data =