{"record":{"id":"80ef38e5f3ca8f62","repo":"cube-js/cube","slug":"meta-store-remote-addr-is-not-defined","errorCode":null,"errorMessage":"Meta store remote addr is not defined","messagePattern":"Meta store remote addr is not defined","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"rust/cubestore/cubestore/src/cluster/transport.rs","lineNumber":128,"sourceCode":"    config: Arc<dyn ConfigObj>,\n}\n\ncrate::di_service!(MetaStoreTransportImpl, [MetaStoreTransport]);\n\nimpl MetaStoreTransportImpl {\n    pub fn new(config: Arc<dyn ConfigObj>) -> Arc<Self> {\n        Arc::new(Self { config })\n    }\n}\n\n#[async_trait]\nimpl MetaStoreTransport for MetaStoreTransportImpl {\n    async fn meta_store_call(&self, m: NetworkMessage) -> Result<NetworkMessage, CubeError> {\n        let meta_remote_addr = self\n            .config\n            .metastore_remote_address()\n            .as_ref()\n            .expect(\"Meta store remote addr is not defined\")\n            .to_string();\n        let mut stream = tokio::time::timeout(\n            Duration::from_secs(self.config.connection_timeout()),\n            TcpStream::connect(&meta_remote_addr),\n        )\n        .await\n        .map_err(|_| {\n            CubeError::internal(format!(\n                \"Connection timeout to {}. Please check your meta connection env variables (CUBESTORE_META_ADDR, CUBESTORE_META_PORT, etc.).\",\n                meta_remote_addr\n            ))\n        })?\n        .map_err(|e| {\n            CubeError::internal(format!(\"Can't connect to {}: {}\", meta_remote_addr, e))\n        })?;\n        m.send(&mut stream).await?;\n        let message = NetworkMessage::receive(&mut stream).await?;\n        Ok(message)","sourceCodeStart":110,"sourceCodeEnd":146,"githubUrl":"https://github.com/cube-js/cube/blob/7d981676b36392fec34088b9afab6bdcad40207c/rust/cubestore/cubestore/src/cluster/transport.rs#L110-L146","documentation":"A hard expect() panic in the meta store transport: meta_store_call was invoked, which requires forwarding to a remote meta store, but CUBESTORE_METASTORE_REMOTE_ADDRESS (the config's metastore_remote_address) is not set. The node is trying to act as a router proxy to a meta store it was never told about.","triggerScenarios":"Thrown at rust/cubestore/cubestore/src/cluster/transport.rs:128 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set the meta store remote address in the node's configuration when it must route to a remote meta store","Ensure only the designated router node forwards meta store calls, or run the meta store locally on this node"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"7d981676b36392fec34088b9afab6bdcad40207c","analyzedAt":"2026-09-02T03:45:10.400Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T15:18:49.778Z"}