xiangfu0 commented on code in PR #8465: URL: https://github.com/apache/pinot/pull/8465#discussion_r847822790
########## pinot-plugins/pinot-minion-tasks/pinot-minion-builtin-tasks/src/main/java/org/apache/pinot/plugin/minion/tasks/segmentgenerationandpush/SegmentGenerationAndPushTaskGenerator.java: ########## @@ -177,6 +180,76 @@ public List<PinotTaskConfig> generateTasks(List<TableConfig> tableConfigs) { return pinotTaskConfigs; } + @Override + public List<PinotTaskConfig> generateAdhocTasks(TableConfig tableConfig, Map<String, String> taskConfigs) + throws Exception { + String taskUUID = UUID.randomUUID().toString(); + // Only generate tasks for OFFLINE tables + String offlineTableName = tableConfig.getTableName(); + if (tableConfig.getTableType() != TableType.OFFLINE) { + LOGGER.warn("Skip generating SegmentGenerationAndPushTask for non-OFFLINE table: {}", offlineTableName); + return ImmutableList.of(); Review Comment: this is not an exception, the external caller will call this twice for realtime/offline table separately. ########## pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/minion/PinotHelixTaskResourceManager.java: ########## @@ -347,7 +368,11 @@ public synchronized Set<String> getTasksInProgress(String taskType) { */ public synchronized TaskState getTaskState(String taskName) { String taskType = getTaskType(taskName); - return _taskDriver.getWorkflowContext(getHelixJobQueueName(taskType)).getJobState(getHelixJobName(taskName)); + WorkflowContext workflowContext = _taskDriver.getWorkflowContext(getHelixJobQueueName(taskType)); + if (workflowContext == null) { Review Comment: In the current code, Pinot set up a job queue for the first task schedule, which means if you are querying a task type that hasn't registered, then this call will throw NPE. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org