{"record":{"id":"813ad244fea62410","repo":"apache/seatunnel","slug":"failed-to-stream-load-data-with-label","errorCode":null,"errorMessage":"failed to stream load data with label: ","messagePattern":"failed to stream load data with label: ","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/sink/writer/DorisStreamLoad.java","lineNumber":314,"sourceCode":"                    .addProperties(streamLoadProp);\n            if (enable2PC) {\n                putBuilder.enable2PC();\n            }\n            pendingLoadFuture =\n                    executorService.submit(\n                            () -> {\n                                log.info(\"start execute load\");\n                                return HttpUtil.executeWithRedirectTracking(\n                                        streamLoadHttpClient,\n                                        putBuilder.build(),\n                                        loadUrlStr,\n                                        directToBe,\n                                        enable2PC,\n                                        \"stream-load-write\");\n                            });\n        } catch (Exception e) {\n            String err = \"failed to stream load data with label: \" + label;\n            log.warn(err, e);\n            throw e;\n        }\n    }\n\n    public void abortTransaction(long txnID) throws Exception {\n        HttpPutBuilder builder = new HttpPutBuilder();\n        builder.setUrl(abortUrlStr)\n                .baseAuth(user, passwd)\n                .addCommonHeader()\n                .addTxnId(txnID)\n                .setEmptyEntity()\n                .abort();\n        CloseableHttpResponse response =\n                HttpUtil.executeWithRedirectTracking(\n                        httpClient, builder.build(), abortUrlStr, directToBe, enable2PC, \"abort\");\n\n        int statusCode = response.getStatusLine().getStatusCode();\n        if (statusCode == HTTP_TEMPORARY_REDIRECT) {","sourceCodeStart":296,"sourceCodeEnd":332,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-doris/src/main/java/org/apache/seatunnel/connectors/doris/sink/writer/DorisStreamLoad.java#L296-L332","documentation":"DorisStreamLoad.startStreamLoad wraps the actual stream-load HTTP PUT in a try/catch; on any exception it builds 'failed to stream load data with label: <label>', logs it as a warning, and rethrows the original exception. The message identifies the failing stream-load label so you can correlate with Doris-side load state.","triggerScenarios":"Any exception thrown by the underlying HTTP execute of the stream-load PUT inside startStreamLoad (called from writeRecord): connection failures, HTTP error responses, auth failures, redirect problems, or serialization errors before/while sending the record batch.","commonSituations":"Doris FE/BE unreachable or wrong `load_url`/host config; 401/307 handling failures; TLS misconfig; record payload exceeding limits; firewall blocking the redirect to the BE.","solutions":["Read the rethrown cause below the warning — it carries the real HTTP/network error","Verify Doris FE/BE endpoints, credentials, and that the target database/table exist","Check label state in Doris (`show stream load`) to see if the load partially succeeded","Ensure network/firewall allows the client to follow the FE redirect to the BE"],"exampleFix":"null","handlingStrategy":"retry","validationCode":"// Preconditions before write\nassert tablePath != null && !tablePath.isEmpty();\nassert dorisOptions.getUser() != null && dorisOptions.getPassword() != null;\n// Optionally ping FE: new HttpGet(\"http://\" + feHost + \"/api/health\")","typeGuard":null,"tryCatchPattern":"try { streamLoad.startStreamLoad(label, rowBytes); } catch (Exception e) { log.error(\"stream load label {} failed: {}\", label, e.getMessage()); if (isRetryable(e)) retryWithNewLabel(); else throw e; }","preventionTips":["Pre-verify FE/BE endpoints, credentials and target table existence","Ensure firewall allows FE->BE redirect connections","Check Doris `show stream load` by label to diagnose failures"],"tags":["doris","stream-load","http","network"],"backgroundTag":"http-request-failed","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}