public static List getBackendRows()

in spark-doris-connector/src/main/java/org/apache/doris/spark/rest/RestService.java [570:592]


    public static List<BackendV2.BackendRowV2> getBackendRows(SparkSettings sparkSettings,  Logger logger) throws DorisException {
        List<String> feNodeList = allEndpoints(sparkSettings.getProperty(DORIS_FENODES), logger);
        for (String feNode : feNodeList){
            try {
                String beUrl =   String.format("http://%s" + BACKENDS_V2, feNode);
                HttpGet httpGet = new HttpGet(beUrl);
                String response = send(sparkSettings, httpGet, logger);
                logger.info("Backend Info:{}", response);
                List<BackendV2.BackendRowV2> backends = parseBackendV2(response, logger);
                logger.trace("Parse beNodes '{}'.", backends);
                if (backends == null || backends.isEmpty()) {
                    logger.error(ILLEGAL_ARGUMENT_MESSAGE, "beNodes", backends);
                    throw new IllegalArgumentException("beNodes", String.valueOf(backends));
                }
                return backends;
            } catch (ConnectedFailedException e) {
                logger.info("Doris FE node {} is unavailable: {}, Request the next Doris FE node", feNode, e.getMessage());
            }
        }
        String errMsg = "No Doris FE is available, please check configuration";
        logger.error(errMsg);
        throw new DorisException(errMsg);
    }