diff --git a/crates/lance-context-wal/src/service/health.rs b/crates/lance-context-wal/src/service/health.rs index 28678531..e3392e8c 100644 --- a/crates/lance-context-wal/src/service/health.rs +++ b/crates/lance-context-wal/src/service/health.rs @@ -31,6 +31,7 @@ struct View { node: u64, ready: bool, groups: BTreeMap, + admission: runtime::Admission, disk: Option, maintenance: maintenance::Progress, snapshots_sent: u64, @@ -63,6 +64,7 @@ impl State { node: self.node, ready, groups, + admission: self.handle.admission(), disk: self.handle.disk_budget(), maintenance: self .maintenance diff --git a/docs/design/wal-node-service.md b/docs/design/wal-node-service.md index 5e410830..6c5f572f 100644 --- a/docs/design/wal-node-service.md +++ b/docs/design/wal-node-service.md @@ -84,6 +84,11 @@ must eventually stop; checkpoints cannot discard that data to improve a score. ## Observation and qualification The diagnostic HTTP listener serves `/health/live`, `/health/ready` and `/status`. +The status and readiness responses include `admission` observations for data, +control, incoming peers and outgoing peers. Each lane reports request and byte +capacity, current usage, and separate rejection counters. These independently +sampled local values distinguish request pressure from response-byte pressure; +they exclude the transport's separate budgets and do not change readiness. It allows at most 16 connections, bounds header buffers, disables keepalive and uses a two-second connection deadline, independently of WAL RPC capacity. Readiness reports active local workers and fresh local observations; it is not