#[non_exhaustive]pub enum GraphStoreError {
Show 17 variants
ScopeUnservable {
reason: String,
},
Unsupported {
what: &'static str,
},
Validation {
items: Vec<ItemError>,
},
Conflict {
reason: String,
},
Serialization,
StaleGeneration {
recorded: i64,
offered: i64,
},
IdempotencyMismatch,
IdempotencyExpired,
NotFound,
LimitExceeded {
what: String,
},
SourceNamespaceForbidden {
namespace: String,
},
InvalidQuery {
what: String,
},
Corrupt {
reason: String,
},
Unavailable {
reason: String,
},
Deadline,
Cancelled,
Internal(String),
}Expand description
Store-side failure vocabulary. The gear normalizes these into canonical errors before they cross the public boundary; no vendor text survives.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
ScopeUnservable
Request-level decline: this implementation cannot serve the compiled scope. Routed by the gateway, never surfaced to the caller directly.
Unsupported
The capability is declared absent for this store.
Validation
Per-item validation failures; the batch committed nothing.
Conflict
Same-key different-type ingest, expected-version mismatch, or an equal-generation replacement with different content.
Serialization
Serialization failure under concurrent ingest; retry unchanged.
StaleGeneration
Older source generation for a scope; drop the stale run.
IdempotencyMismatch
Idempotency key reused with a different request.
IdempotencyExpired
Receipt expired (or from a previous source epoch); reconcile first.
NotFound
Unauthorized or unknown resource — indistinguishable by contract.
LimitExceeded
A documented hard bound was exceeded.
SourceNamespaceForbidden
A write under a source namespace bound to another producer principal.
Deliberately not NotFound: everywhere else a denial is
indistinguishable from absence (anti-enumeration), but here the caller
named a namespace whose owner is a fact about the tenant, not about
them, and telling them it does not exist would send them to create it.
DESIGN § Error Model maps this to permission_denied /
SOURCE_NAMESPACE_FORBIDDEN, “never retry; request ownership
transfer”.
InvalidQuery
The query itself is malformed — an unknown filter field, an
unparseable cursor, an ordering the store cannot serve. Distinct from
LimitExceeded: nothing here is about a bound, and telling a caller
“reduce the value” when they named a field that does not exist sends
them the wrong way.
Corrupt
Durable corruption detected; operator action.
Deadline
Cancelled
Internal(String)
Unexpected failure; details stay in access-controlled logs.
Trait Implementations§
Source§impl Debug for GraphStoreError
impl Debug for GraphStoreError
Source§impl Display for GraphStoreError
impl Display for GraphStoreError
Source§impl Error for GraphStoreError
impl Error for GraphStoreError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()