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.