You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by ja...@apache.org on 2025/10/08 18:45:32 UTC
(pinot) branch master updated: Task queue UI: surface debug tables (#16968)
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 <kh...@gmail.com>
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: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org