Skip to content

Commit 4bece32

Browse files
authored
Merge branch 'main' into ISSUE-10562
2 parents 73d6e1b + e9142ae commit 4bece32

File tree

4 files changed

+27
-11
lines changed

4 files changed

+27
-11
lines changed

src/query/catalog/src/table_context.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ pub struct ProcessInfo {
5757
pub scan_progress_value: Option<ProgressValues>,
5858
pub mysql_connection_id: Option<u32>,
5959
pub created_time: SystemTime,
60+
pub status_info: Option<String>,
6061
}
6162

6263
#[derive(Debug, Clone)]

src/query/service/src/sessions/query_ctx_shared.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -339,6 +339,11 @@ impl QueryContextShared {
339339
pub fn get_created_time(&self) -> SystemTime {
340340
self.created_time
341341
}
342+
343+
pub fn get_status_info(&self) -> String {
344+
let status = self.status.read();
345+
status.clone()
346+
}
342347
}
343348

344349
impl Drop for QueryContextShared {

src/query/service/src/sessions/session_info.rs

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,11 @@ impl Session {
2929
self.to_process_info(&session_ctx)
3030
}
3131

32-
fn to_process_info(self: &Arc<Self>, status: &SessionContext) -> ProcessInfo {
32+
fn to_process_info(self: &Arc<Self>, session_ctx: &SessionContext) -> ProcessInfo {
3333
let mut memory_usage = 0;
3434

35-
if let Some(shared) = status.get_query_context_shared() {
35+
let shared_query_context = &session_ctx.get_query_context_shared();
36+
if let Some(shared) = shared_query_context {
3637
if let Ok(runtime) = shared.try_get_runtime() {
3738
let mem_stat = runtime.get_tracker();
3839
memory_usage = mem_stat.get_memory_usage();
@@ -42,17 +43,20 @@ impl Session {
4243
ProcessInfo {
4344
id: self.id.clone(),
4445
typ: self.get_type().to_string(),
45-
state: self.process_state(status),
46-
database: status.get_current_database(),
47-
user: status.get_current_user(),
46+
state: self.process_state(session_ctx),
47+
database: session_ctx.get_current_database(),
48+
user: session_ctx.get_current_user(),
4849
settings: self.get_settings(),
49-
client_address: status.get_client_host(),
50-
session_extra_info: self.process_extra_info(status),
50+
client_address: session_ctx.get_client_host(),
51+
session_extra_info: self.process_extra_info(session_ctx),
5152
memory_usage,
52-
data_metrics: Self::query_data_metrics(status),
53-
scan_progress_value: Self::query_scan_progress_value(status),
53+
data_metrics: Self::query_data_metrics(session_ctx),
54+
scan_progress_value: Self::query_scan_progress_value(session_ctx),
5455
mysql_connection_id: self.mysql_connection_id,
55-
created_time: Self::query_created_time(status),
56+
created_time: Self::query_created_time(session_ctx),
57+
status_info: shared_query_context
58+
.as_ref()
59+
.map(|qry_ctx| qry_ctx.get_status_info()),
5660
}
5761
}
5862

src/query/storages/system/src/processes_table.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,13 @@ impl SyncSystemTable for ProcessesTable {
106106
}
107107

108108
// Status info.
109-
processes_status.push(ctx.get_status_info().clone().into_bytes());
109+
processes_status.push(
110+
process_info
111+
.status_info
112+
.clone()
113+
.unwrap_or("".to_owned())
114+
.into_bytes(),
115+
);
110116
}
111117

112118
Ok(DataBlock::new_from_columns(vec![

0 commit comments

Comments
 (0)