public Boolean run()

in bigtop-manager-server/src/main/java/org/apache/bigtop/manager/server/command/stage/AbstractStage.java [94:129]


    public Boolean run() {
        boolean allTaskSuccess;

        try {
            beforeRun();

            List<CompletableFuture<Boolean>> futures = new ArrayList<>();
            for (Task task : tasks) {
                futures.add(CompletableFuture.supplyAsync(task::run));
            }

            List<Boolean> taskResults = futures.stream()
                    .map((future) -> {
                        try {
                            return future.get();
                        } catch (Exception e) {
                            log.error("stage failed,", e);
                            return false;
                        }
                    })
                    .toList();

            allTaskSuccess = taskResults.stream().allMatch(Boolean::booleanValue);
        } catch (Exception e) {
            log.error("stage failed", e);
            allTaskSuccess = false;
        }

        if (allTaskSuccess) {
            onSuccess();
        } else {
            onFailure();
        }

        return allTaskSuccess;
    }