clockworklabs/SpacetimeDB · error · DBError::Other
Subscription with id {query_id:?} already exists for client:
Error message
Subscription with id {query_id:?} already exists for client: {client_id:?} What it means
Error "Subscription with id {query_id:?} already exists for client: {client_id:?}" thrown in clockworklabs/SpacetimeDB.
Source
Thrown at crates/core/src/subscription/module_subscription_manager.rs:1051
.get(&client_id)
.is_some_and(|ci| ci.dropped.load(Ordering::Acquire))
{
self.remove_all_subscriptions(&client_id);
}
let ci = Self::get_or_make_client_info_and_inform_send_worker(
&mut self.clients,
&self.send_worker_queue,
client_id,
client,
);
#[cfg(test)]
ci.assert_ref_count_consistency();
let subscription_id = (client_id, query_id);
let hash_set = match ci.v1_subscriptions.try_insert(subscription_id, HashSet::new()) {
Err(OccupiedError { .. }) => {
return Err(anyhow::anyhow!(
"Subscription with id {query_id:?} already exists for client: {client_id:?}"
)
.into());
}
Ok(hash_set) => hash_set,
};
// We track the queries that are being added for this client.
let mut new_queries = Vec::new();
for query in &queries {
let hash = query.hash();
// Deduping queries within this single call.
if !hash_set.insert(hash) {
continue;
}
let query_state = self
.queries
.entry(hash)View on GitHub (pinned to 524b4487d9)
When it happens
Trigger: Thrown at crates/core/src/subscription/module_subscription_manager.rs:1051 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of clockworklabs/SpacetimeDB@524b4487d9 (2026-08-16).
Data as JSON: /api/errors/5bffcb76bbe2e189.
Report an issue: GitHub.