diff --git a/src/servers/src/grpc/greptime_handler.rs b/src/servers/src/grpc/greptime_handler.rs index ef2481b91a..d56875906e 100644 --- a/src/servers/src/grpc/greptime_handler.rs +++ b/src/servers/src/grpc/greptime_handler.rs @@ -85,7 +85,7 @@ impl GreptimeRequestHandler { logging::error!(e; "Failed to handle request"); } else { // Currently, we still print a debug log. - logging::debug!("Failed to handle request, err: {}", e); + logging::debug!("Failed to handle request, err: {:?}", e); } e }) diff --git a/src/servers/src/grpc/region_server.rs b/src/servers/src/grpc/region_server.rs index 19d075c356..c8210ebbab 100644 --- a/src/servers/src/grpc/region_server.rs +++ b/src/servers/src/grpc/region_server.rs @@ -70,7 +70,7 @@ impl RegionServerRequestHandler { error!(e; "Failed to handle request"); } else { // Currently, we still print a debug log. - debug!("Failed to handle request, err: {}", e); + debug!("Failed to handle request, err: {:?}", e); } e }) diff --git a/src/servers/src/http.rs b/src/servers/src/http.rs index 7a422ef994..f627fcd966 100644 --- a/src/servers/src/http.rs +++ b/src/servers/src/http.rs @@ -298,10 +298,7 @@ impl JsonResponse { }, Err(e) => { - return Self::with_error( - format!("Recordbatch error: {e}"), - e.status_code(), - ); + return Self::with_error(e.output_msg(), e.status_code()); } } } diff --git a/src/servers/src/mysql/handler.rs b/src/servers/src/mysql/handler.rs index 7af3e98a67..a42c1d92f5 100644 --- a/src/servers/src/mysql/handler.rs +++ b/src/servers/src/mysql/handler.rs @@ -355,7 +355,7 @@ impl AsyncMysqlShim for MysqlInstanceShi return w .error( ErrorKind::ER_DBACCESS_DENIED_ERROR, - e.to_string().as_bytes(), + e.output_msg().as_bytes(), ) .await .map_err(|e| e.into()); @@ -421,7 +421,7 @@ async fn validate_query(query: &str) -> Result { let statement = ParserContext::create_with_dialect(query, &MySqlDialect {}); let mut statement = statement.map_err(|e| { InvalidPrepareStatementSnafu { - err_msg: e.to_string(), + err_msg: e.output_msg(), } .build() })?; diff --git a/src/servers/src/mysql/writer.rs b/src/servers/src/mysql/writer.rs index 6c909deb41..f76f0f5826 100644 --- a/src/servers/src/mysql/writer.rs +++ b/src/servers/src/mysql/writer.rs @@ -17,6 +17,7 @@ use std::ops::Deref; use common_error::ext::ErrorExt; use common_query::Output; use common_recordbatch::{RecordBatch, SendableRecordBatchStream}; +use common_telemetry::{debug, error}; use datatypes::prelude::{ConcreteDataType, Value}; use datatypes::schema::SchemaRef; use futures::StreamExt; @@ -147,10 +148,16 @@ impl<'a, W: AsyncWrite + Unpin> MysqlResultWriter<'a, W> { .await? } Err(e) => { - let err = e.to_string(); + if e.status_code().should_log_error() { + error!(e; "Failed to handle mysql query"); + } else { + debug!("Failed to handle mysql query, error: {e:?}"); + } + let err = e.output_msg(); row_writer .finish_error(ErrorKind::ER_INTERNAL_ERROR, &err.as_bytes()) .await?; + return Ok(()); } } @@ -213,6 +220,12 @@ impl<'a, W: AsyncWrite + Unpin> MysqlResultWriter<'a, W> { .with_label_values(&[METRIC_ERROR_COUNTER_LABEL_MYSQL]) .inc(); + if error.status_code().should_log_error() { + error!(error; "Failed to handle mysql query"); + } else { + debug!("Failed to handle mysql query, error: {error:?}"); + } + let kind = ErrorKind::ER_INTERNAL_ERROR; let error = error.output_msg(); w.error(kind, error.as_bytes()).await?;