public SearchResult<Task> getSearchTasksV2(
            String query, String freeText, int start, int size, String sortString) {
        SearchResult<String> result =
                executionDAOFacade.searchTasks(
                        query, freeText, start, size, Utils.convertStringToList(sortString));
        List<Task> tasks =
                result.getResults().stream()
                        .parallel()
                        .map(
                                task -> {
                                    try {
                                        return executionDAOFacade.getTask(task);
                                    } catch (Exception e) {
                                        LOGGER.error("Error fetching task by id: {}", task, e);
                                        return null;
                                    }
                                })
                        .filter(Objects::nonNull)
                        .collect(Collectors.toList());
        int missing = result.getResults().size() - tasks.size();
        long totalHits = result.getTotalHits() - missing;
        return new SearchResult<>(totalHits, tasks);
    }
This method removes the task from the un-acked Queue

@param taskId: the taskId that needs to be updated and removed from the unacked queue
@return True in case of successful removal of the taskId from the un-acked queue
core/src/main/java/com/netflix/conductor/service/ExecutionService.java