[Enhancement] add catalog and queryId info in ShowProcessList (backport #62552) (#63022)

Signed-off-by: zhaohehuhu <luoyedeyi@163.com>
Co-authored-by: He Zhao <luoyedeyi@163.com>
This commit is contained in:
mergify[bot] 2025-09-11 12:11:21 +00:00 committed by GitHub
parent b6c2478a24
commit df795c442f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 25 additions and 5 deletions

View File

@ -1616,6 +1616,10 @@ public class ConnectContext {
row.add(sessionVariable.getWarehouseName());
// cngroup
row.add(getCurrentComputeResourceName());
// catalog
row.add(sessionVariable.getCatalog());
// query id
row.add(queryId == null ? null : queryId.toString());
return row;
}
}

View File

@ -911,7 +911,8 @@ public class ShowExecutor {
row.add(tConnectionInfo.getIsPending());
row.add(tConnectionInfo.getWarehouse());
row.add(tConnectionInfo.getCngroup());
row.add(tConnectionInfo.getCatalog());
row.add(tConnectionInfo.getQueryId());
rowSet.add(row);
}
} catch (TException e) {

View File

@ -922,6 +922,8 @@ public class ShowResultMetaFactory implements AstVisitor<ShowResultSetMetaData,
.addColumn(new Column("IsPending", ScalarType.createVarchar(16)))
.addColumn(new Column("Warehouse", ScalarType.createVarchar(20)))
.addColumn(new Column("CNGroup", ScalarType.createVarchar(64)))
.addColumn(new Column("Catalog", ScalarType.createVarchar(64)))
.addColumn(new Column("QueryId", ScalarType.createVarchar(64)))
.build();
}

View File

@ -40,6 +40,7 @@ import org.mockito.MockedStatic;
import org.mockito.Mockito;
import java.util.List;
import java.util.UUID;
public class ShowProcesslistStmtTest {
private static ConnectContext connectContext;
@ -59,7 +60,7 @@ public class ShowProcesslistStmtTest {
ShowProcesslistStmt stmt = (ShowProcesslistStmt) UtFrameUtils.parseStmtWithNewParser(originStmt, connectContext);
ShowResultSetMetaData metaData = new ShowResultMetaFactory().getMetadata(stmt);
Assertions.assertNotNull(metaData);
Assertions.assertEquals(13, metaData.getColumnCount());
Assertions.assertEquals(15, metaData.getColumnCount());
Assertions.assertEquals("ServerName", metaData.getColumn(0).getName());
Assertions.assertEquals("Id", metaData.getColumn(1).getName());
Assertions.assertEquals("User", metaData.getColumn(2).getName());
@ -72,6 +73,10 @@ public class ShowProcesslistStmtTest {
Assertions.assertEquals("Info", metaData.getColumn(9).getName());
Assertions.assertEquals("IsPending", metaData.getColumn(10).getName());
Assertions.assertEquals("Warehouse", metaData.getColumn(11).getName());
Assertions.assertEquals("CNGroup", metaData.getColumn(12).getName());
Assertions.assertEquals("Catalog", metaData.getColumn(13).getName());
Assertions.assertEquals("QueryId", metaData.getColumn(14).getName());
}
@Test
@ -105,12 +110,14 @@ public class ShowProcesslistStmtTest {
ctx1.setCurrentUserIdentity(new UserIdentity("test", "%"));
ctx1.setGlobalStateMgr(GlobalStateMgr.getCurrentState());
ctx1.setConnectionId(1);
ctx1.setQueryId(UUID.randomUUID());
ConnectContext ctx2 = new ConnectContext();
ctx2.setQualifiedUser("test2");
ctx2.setCurrentUserIdentity(new UserIdentity("test2", "%"));
ctx2.setGlobalStateMgr(GlobalStateMgr.getCurrentState());
ctx2.setConnectionId(2);
ctx2.setQueryId(UUID.randomUUID());
ExecuteEnv.setup();
ExecuteEnv.getInstance().getScheduler().registerConnection(ctx1);
@ -134,6 +141,8 @@ public class ShowProcesslistStmtTest {
tConnectionInfo.setIsPending("false");
tConnectionInfo.setWarehouse("default_warehouse");
tConnectionInfo.setCngroup(cnGroupName);
tConnectionInfo.setCatalog("default_catalog");
tConnectionInfo.setQueryId("de516505-fab7-11ef-8063-461f20abc3f0");
tListConnectionResponse.addToConnections(tConnectionInfo);
try (MockedStatic<ThriftRPCRequestExecutor> thriftConnectionPoolMockedStatic =
@ -147,6 +156,8 @@ public class ShowProcesslistStmtTest {
List<List<String>> resultRows = showResultSet.getResultRows();
Assertions.assertEquals("default_warehouse", resultRows.get(0).get(11));
Assertions.assertEquals(cnGroupName, resultRows.get(0).get(12));
Assertions.assertEquals("default_catalog", resultRows.get(0).get(13));
Assertions.assertNotNull(resultRows.get(0).get(14));
}
}
}

View File

@ -144,7 +144,7 @@ public class ConnectContextTest {
Assertions.assertNotNull(ctx.toThreadInfo());
long currentTimeMillis = System.currentTimeMillis();
List<String> row = ctx.toThreadInfo().toRow(currentTimeMillis, false);
Assertions.assertEquals(12, row.size());
Assertions.assertEquals(14, row.size());
Assertions.assertEquals("101", row.get(0));
Assertions.assertEquals("testUser", row.get(1));
Assertions.assertEquals("127.0.0.1:12345", row.get(2));

View File

@ -373,7 +373,7 @@ public class ShowStmtMetaTest {
public void testShowProcesslistStmt() {
ShowProcesslistStmt stmt = new ShowProcesslistStmt(false);
ShowResultSetMetaData metaData = new ShowResultMetaFactory().getMetadata(stmt);
Assertions.assertEquals(13, metaData.getColumnCount());
Assertions.assertEquals(15, metaData.getColumnCount());
Assertions.assertEquals("ServerName", metaData.getColumn(0).getName());
Assertions.assertEquals("Id", metaData.getColumn(1).getName());
Assertions.assertEquals("User", metaData.getColumn(2).getName());

View File

@ -1988,7 +1988,9 @@ struct TConnectionInfo {
9: optional string info;
10: optional string isPending;
11: optional string warehouse;
12: optional string cngroup;
12: optional string cngroup;
13: optional string catalog;
14: optional string queryId;
}
struct TListConnectionResponse {