influxdata/influxdb · error · CatalogError

node ' ' advertises no connection address (conn info e.g…

Error message

node '{node_id}' advertises no connection address (conn info e.g. 8181), so other query group members cannot reach it

What it means

This error indicates that a node which is (or is being made) a member of a query group has no connection address advertised (no conn info such as port 8181). Query group members must be reachable by peers for distributed query coordination, so the catalog rejects group membership for unadvertised/unconnectable nodes.

Solutions

  1. Set the node's connection address (conn info, e.g. HTTP port 8181) via the catalog/node update API before joining the query group
  2. Configure the node's advertised address/port at startup (e.g. the HTTP bind address setting) and restart the node
  3. Remove the node from the query group if it is not intended to serve distributed queries

Example fix

// before
catalog.add_node_to_query_group(group_id, node_id)?; // node has no conn info
// after
catalog.update_node_conn_info(node_id, "8181")?;
catalog.add_node_to_query_group(group_id, node_id)?;
Defensive patterns

Strategy: validation

Validate before calling

let node = catalog.get_node(node_id)?;
if node.conn_info().is_none() {
    return Err("node has no advertised address; set conn info before joining a query group");
}

Try / catch

match result {
    Err(CatalogError::QueryGroupMemberNotConnectable { node_id }) => {
        catalog.update_node_conn_info(node_id, "8181")?;
        // retry join
    }
    r => r?,
}

Prevention

When it happens

Trigger: Adding a node to a query group, or validating group membership, when the node's catalog record lacks connection info (host/port) needed by other group members.

Common situations: Starting a node without configuring its HTTP bind/advertised address, then joining it to a query group; partial node registration where conn info was never set; containerized deployments where the advertised address env var is missing.

Understand the failure class

Background: "is required", "must be set", "missing required field": configuration validation errors across open-source libraries — this error's family across 36 libraries.

Related errors


AI-assisted analysis of influxdata/influxdb@06200ef96b (2026-09-19). Data as JSON: /api/errors/134718071d3962e3. Report an issue: GitHub.

Appendix: source

Thrown at influxdb3_catalog/src/error.rs:389

    #[error(
        "cannot remove node '{node_id}' because it is a member of query group '{query_group_name}' (id {query_group_id})"
    )]
    NodeInQueryGroup {
        node_id: Arc<str>,
        query_group_name: Arc<str>,
        query_group_id: QueryGroupId,
    },

    #[error(
        "cannot place node '{node_id}' in this query group because it already belongs to query group '{query_group_name}' (id {query_group_id})"
    )]
    NodeAlreadyInQueryGroup {
        node_id: Arc<str>,
        query_group_name: Arc<str>,
        query_group_id: QueryGroupId,
    },

    #[error(
        "node '{node_id}' advertises no connection address (conn info e.g. 8181), so other query group members cannot reach it"
    )]
    QueryGroupMemberNotConnectable { node_id: Arc<str> },

    #[error(
        "node '{node_id}' cannot clear its connection address (conn info e.g. 8181) while it is a member of query group '{query_group_name}' (id {query_group_id})"
    )]
    NodeConnInfoRequiredInQueryGroup {
        node_id: Arc<str>,
        query_group_name: Arc<str>,
        query_group_id: QueryGroupId,
    },
}

impl CatalogError {
    pub fn invalid_configuration(message: impl AsRef<str>) -> Self {
        Self::InvalidConfiguration {
            message: Box::from(message.as_ref()),

View on GitHub (pinned to 06200ef96b)