rustfs/rustfs · error · InventoryError::AlreadyRunning
a Connect inventory runtime already owns this state
Error message
a Connect inventory runtime already owns this state
What it means
InventoryError::AlreadyRunning fires when a second Connect inventory runtime tries to take ownership of state that another runtime already owns — a singleton guard against concurrent report loops over one state directory.
Source
Thrown at rustfs/src/connect/inventory.rs:618
#[error("the RustFS inventory version is outside protocol bounds")]
RustfsVersion,
#[error("the RustFS inventory operating-system version is outside protocol bounds")]
OsVersion,
#[error("the RustFS inventory node count is outside protocol bounds")]
NodeCount,
#[error("the RustFS inventory drive count is outside protocol bounds")]
DriveCount,
#[error("the RustFS inventory capacity is outside protocol bounds")]
Capacity,
#[error("the RustFS inventory coarse flags are not canonical")]
CoarseFlags,
#[error("the RustFS inventory snapshot is incomplete: observed {observed} of {expected} configured drives")]
SnapshotIncomplete { expected: usize, observed: usize },
#[error("the Connect inventory schedule is invalid")]
Schedule,
#[error("the Connect inventory sequence is exhausted")]
SequenceExhausted,
#[error("a Connect inventory runtime already owns this state")]
AlreadyRunning,
#[error("the persisted Connect inventory changed while delivery was in flight")]
StateConflict,
#[error("the Connect inventory state path is invalid")]
StatePath,
#[error("Connect inventory state I/O failed at {path}: {source}")]
StateIo {
path: PathBuf,
#[source]
source: io::Error,
},
#[error("Connect inventory state at {path} is invalid: {source}")]
StateInvalid {
path: PathBuf,
#[source]
source: serde_json::Error,
},
#[error("Connect inventory state at {path} violates the protocol invariants")]View on GitHub (pinned to 201c653dcd)
Solutions
- Stop the existing inventory runtime before starting another
- Check for duplicate RustFS processes sharing the state directory
- Clear stale ownership records only after confirming no live runtime
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at rustfs/src/connect/inventory.rs:618 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of rustfs/rustfs@201c653dcd (2026-08-23).
Data as JSON: /api/errors/f97839a33388d4fd.
Report an issue: GitHub.