{"record":{"id":"e04b4eb5db36a874","repo":"apache/seatunnel","slug":"failed-to-connect-to-back-all-address","errorCode":null,"errorMessage":"Failed to connect to back all address","messagePattern":"Failed to connect to back all address","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/rest/RestService.java","lineNumber":140,"sourceCode":"                            request.getURI(),\n                            statusCode);\n                    continue;\n                }\n                logger.trace(\n                        \"Success get response from Doris FE: {}, response is: {}.\",\n                        request.getURI(),\n                        response);\n                // Handle the problem of inconsistent data format returned by http v1 and v2\n                Map map = OBJECT_MAPPER.readValue(response, Map.class);\n                if (map.containsKey(\"code\") && map.containsKey(\"msg\")) {\n                    Object data = map.get(\"data\");\n                    return OBJECT_MAPPER.writeValueAsString(data);\n                } else {\n                    return response;\n                }\n            } catch (IOException e) {\n                ex = e;\n                logger.warn(ErrorMessages.CONNECT_FAILED_MESSAGE, request.getURI(), e);\n            }\n        }\n        String errMsg =\n                \"Connect to \"\n                        + request.getURI().toString()\n                        + \"failed, status code is \"\n                        + statusCode\n                        + \".\";\n        throw new DorisConnectorException(DorisConnectorErrorCode.REST_SERVICE_FAILED, errMsg, ex);\n    }\n\n    private static String getConnectionPost(\n            HttpRequestBase request, String user, String passwd, Logger logger) throws IOException {\n        URL url = new URL(request.getURI().toString());\n        HttpURLConnection conn = (HttpURLConnection) url.openConnection();\n        conn.setInstanceFollowRedirects(false);\n        conn.setRequestMethod(request.getMethod());\n        String authEncoding =","sourceCodeStart":122,"sourceCodeEnd":158,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/rest/RestService.java#L122-L158","documentation":"RestService.send exhausted all configured Doris FE addresses without getting a usable response. Each attempt logged a connect/IO problem (CONNECT_FAILED_MESSAGE) and after the loop it throws an exception built from the last error, surfaced as this 'Failed to connect to back all address' message. The read job cannot enumerate partitions and fails.","triggerScenarios":"findPartitions -> send tries every FE in the request's address list; all attempts throw IOException (connection refused, timeouts, DNS failures) or return error statuses.","commonSituations":"All FEs down or firewall blocking the HTTP port; fe_nodes configured with wrong hostnames/ports; Kerberos/TLS mismatches; container DNS unable to resolve FE hostnames; security group rules blocking the driver host.","solutions":["Verify every FE is up: curl http://<fe>:8030/api/bootstrap from the SeaTunnel node","Correct the fe_nodes / nodes option to list reachable host:fe_http_port entries (comma-separated)","Open firewall/security-group access from the engine nodes to FE HTTP ports","Fix DNS/hosts entries so FE hostnames resolve inside the cluster","Check FE logs for crashes; restart FEs if they are down"],"exampleFix":"// before\n\"fe_nodes\" = \"10.0.0.1:8030,10.0.0.2:9030\" // wrong ports / dead node\n// after\n\"fe_nodes\" = \"10.0.0.1:8030,10.0.0.2:8030,10.0.0.3:8030\"","handlingStrategy":"retry","validationCode":"// before submitting the job, from each engine node:\n// for fe in $(echo $FE_NODES | tr ',' ' '); do curl -sf http://$fe/api/bootstrap || echo FAIL $fe; done","typeGuard":null,"tryCatchPattern":"try {\n    dorisSourceReader/splitEnumerator.start();\n} catch (IOException | SeaTunnelException e) {\n    if (e.getMessage().contains(\"Failed to connect to back all address\")) {\n        // check FE list/network, then retry with backoff\n    }\n}","preventionTips":["List several FE nodes (host:fe_http_port, comma separated) for failover","Verify network/firewall/DNS from all engine nodes to FE HTTP ports before running jobs","Monitor FE cluster health with alerts"],"tags":["doris","network","connection","fe","http"],"backgroundTag":"connection-refused","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-14T11:17:12.474Z"}