cube-js/cube · error · std::io::Error (ErrorKind::Other)

e.to_string() (auth error message wrapped in io::Error)

Error message

e.to_string() (auth error message wrapped in io::Error)

What it means

The Cube Store MySQL protocol server's authentication callback: the configured authenticator rejected the credentials, and the authentication error is wrapped into an io::Error so the wire protocol layer can return it to the client. The authenticator's original message (the meaningful part) is carried in the error string.

Source

Thrown at rust/cubestore/cubestore/src/mysql/mod.rs:182

            );
        }
        Ok(())
    }

    async fn on_auth<'a>(&'a mut self, user: Vec<u8>) -> Result<Option<Vec<u8>>, Self::Error>
    where
        W: 'async_trait,
    {
        self.user = if !user.is_empty() {
            Some(String::from_utf8_lossy(user.as_slice()).to_string())
        } else {
            None
        };
        self.auth
            .authenticate(self.user.clone())
            .await
            .map(|p| p.map(|p| p.as_bytes().to_vec()))
            .map_err(|e| io::Error::new(io::ErrorKind::Other, e.to_string()))
    }
}

pub struct MySqlServer {
    address: String,
    sql_service: Arc<dyn SqlService>,
    auth: Arc<dyn SqlAuthService>,
    close_socket_rx: RwLock<watch::Receiver<bool>>,
    close_socket_tx: watch::Sender<bool>,
}

crate::di_service!(MySqlServer, []);

#[async_trait]
impl ProcessingLoop for MySqlServer {
    async fn processing_loop(&self) -> Result<(), CubeError> {
        let listener = TcpListener::bind(self.address.clone()).await?;

View on GitHub (pinned to 7d981676b3)

Solutions

  1. Check the username and password used to connect to Cube Store's MySQL port
  2. Verify the authenticator configuration on the Cube Store router
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at rust/cubestore/cubestore/src/mysql/mod.rs:182 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of cube-js/cube@7d981676b3 (2026-09-02). Data as JSON: /api/errors/3a1412ee0cf9fffb. Report an issue: GitHub.