This is an automated email from the ASF dual-hosted git repository.
jackie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git
The following commit(s) were added to refs/heads/master by this push:
new cdaa6883680 Task queue UI: surface debug tables (#16968)
cdaa6883680 is described below
commit cdaa68836803589363f75edc5997ab38b01a354f
Author: Kartik Khare <[email protected]>
AuthorDate: Wed Oct 8 11:45:26 2025 -0700
Task queue UI: surface debug tables (#16968)
---
.../src/main/resources/app/pages/TaskQueue.tsx | 28 ++++++++++++++++++++--
1 file changed, 26 insertions(+), 2 deletions(-)
diff --git a/pinot-controller/src/main/resources/app/pages/TaskQueue.tsx
b/pinot-controller/src/main/resources/app/pages/TaskQueue.tsx
index 380e9ee87b6..c5eafe93a4a 100644
--- a/pinot-controller/src/main/resources/app/pages/TaskQueue.tsx
+++ b/pinot-controller/src/main/resources/app/pages/TaskQueue.tsx
@@ -18,7 +18,7 @@
*/
import React, { useEffect, useState } from 'react';
-import { get, map } from 'lodash';
+import { get } from 'lodash';
import { TableData } from 'Models';
import { Grid, makeStyles } from '@material-ui/core';
import SimpleAccordion from '../components/SimpleAccordion';
@@ -66,9 +66,33 @@ const TaskQueue = (props) => {
setFetching(true);
const taskInfoRes = await PinotMethodUtils.getTaskInfo(taskType);
const tablesResponse:any = await PinotMethodUtils.getTableData({ taskType
});
+ const responseTables = get(tablesResponse, 'tables', []);
+ const initialTables = Array.isArray(responseTables)
+ ? responseTables.filter((table): table is string => typeof table ===
'string')
+ : [];
+ const tableSet = new Set<string>(initialTables);
+
+ try {
+ const debugResponse:any = await
PinotMethodUtils.getTaskTypeDebugData(taskType);
+ Object.values(debugResponse || {}).forEach((taskDebug: any) => {
+ (get(taskDebug, 'subtaskInfos', []) || []).forEach((subtask: any) => {
+ const taskConfig = get(subtask, 'taskConfig', {});
+ const tableName = get(taskConfig, 'tableName') || get(taskConfig,
'configs.tableName');
+ if (typeof tableName === 'string') {
+ tableSet.add(tableName);
+ }
+ });
+ });
+ } catch (error) {
+ // Debug endpoint might be disabled; ignore and fall back to configured
tables only.
+ // eslint-disable-next-line no-console
+ console.warn(`Unable to retrieve adhoc task tables for ${taskType}:`,
error);
+ }
+
setTaskInfo(taskInfoRes);
setTables((prevState): TableData => {
- const _records = map(get(tablesResponse, 'tables', []), table =>
[table]);
+ const tableList = Array.from(tableSet).sort();
+ const _records = tableList.map(table => [table]);
return { ...prevState, records: _records };
});
setFetching(false);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]