EdwardTsai1015 opened a new issue, #5804: URL: https://github.com/apache/seatunnel/issues/5804
### Search before asking - [X] I had searched in the [issues](https://github.com/apache/seatunnel/issues?q=is%3Aissue+label%3A%22bug%22) and found no similar issues. ### What happened when using http source, SocketTimeoutException occurs occasionally. I used api tools like Postman, it took more than 1 min to receive the respones, so how can I set connection timeout in seatunnel config file? 我在使用seatunnel的http source时,偶尔会遇到 java.net.SocketTimeoutException: Read timed out,我使用Postman这样的工具测试调用的接口,基本上要花费1-2分钟才能收到响应,我理解可以通过在任务的配置文件中配置连接超时时间为120秒来避免这个报错,但是我在文档中没有找到相关的配置。 ### SeaTunnel Version 2.3.2 ### SeaTunnel Config ```conf env { execution.parallelism = 1 job.mode = "BATCH" } source { http { result_table_name = "http" url = "https://cpi-prd-XXX.it-XXX-rt.cpi.cn40.apps.XXX.sapcloud.cn/http/XXX/XXXX" method = "POST" format = "json" json_field = { status = "$.RSP_DATA.STATUS" message = "$.RSP_DATA.MESSAGE" out_data = "$.RSP_DATA.OUT_DATA" } schema = { fields { status = string message = string out_data = string } } headers = {Authorization="Basic XXX", Content-Type="application/json;charset=UTF-8"} body = "{\"RSQ_DATA\":{\"L_HEAD\":{\"SENDSYS\":\"OA\",\"RECESYS\":\"SAP\",\"MATNR\":\"*\",\"MAKTX\":\"\",\"MTART\":\"\",\"BRAND\":\"\",\"MODEL\":\"\",\"MATKL\":\"\",\"WERKS\":\"*\",\"ZYL1\":\"\",\"ZYL2\":\"\",\"ZYL3\":\"\",\"ZYL4\":\"\",\"ZYL5\":\"\"}}}" } } transform { Sql { source_table_name = "http" result_table_name = "http2" query = "select NOW(3) as ts, CURRENT_DATE as dt, status, message, out_data from http" } } sink { Doris { source_table_name = "http2" fenodes = "192.168.3.XXX:XXXX" username = root password = "XXX" table.identifier = "prod_db.ods_erp_sap_if032_s_hh" sink.enable-2pc = "true" sink.label-prefix = "ods_erp_sap_if032_s_hh_${output}" doris.config = { format="json" read_json_by_line="true" columns="ts, dt, status, message, out_data" } } } ``` ### Running Command ```shell through DolphinScheduler just run the seatunnel workflow seatunnel.sh cluster mode ``` ### Error Exception ```log 2023-11-06 17:41:01,504 ERROR org.apache.seatunnel.connectors.seatunnel.http.source.HttpSourceReader - java.net.SocketTimeoutException: Read timed out java.util.concurrent.ExecutionException: java.net.SocketTimeoutException: Read timed out at com.github.rholder.retry.Retryer$ExceptionAttempt.<init>(Retryer.java:254) ~[?:?] at com.github.rholder.retry.Retryer.call(Retryer.java:163) ~[?:?] at org.apache.seatunnel.connectors.seatunnel.http.client.HttpClientProvider.retryWithException(HttpClientProvider.java:373) ~[?:?] at org.apache.seatunnel.connectors.seatunnel.http.client.HttpClientProvider.getResponse(HttpClientProvider.java:359) ~[?:?] at org.apache.seatunnel.connectors.seatunnel.http.client.HttpClientProvider.doPost(HttpClientProvider.java:291) ~[?:?] at org.apache.seatunnel.connectors.seatunnel.http.client.HttpClientProvider.execute(HttpClientProvider.java:123) ~[?:?] at org.apache.seatunnel.connectors.seatunnel.http.source.HttpSourceReader.pollNext(HttpSourceReader.java:94) ~[?:?] at org.apache.seatunnel.engine.server.task.flow.SourceFlowLifeCycle.collect(SourceFlowLifeCycle.java:135) ~[seatunnel-starter.jar:2.3.2] at org.apache.seatunnel.engine.server.task.SourceSeaTunnelTask.collect(SourceSeaTunnelTask.java:84) ~[seatunnel-starter.jar:2.3.2] at org.apache.seatunnel.engine.server.task.SeaTunnelTask.stateProcess(SeaTunnelTask.java:165) ~[seatunnel-starter.jar:2.3.2] at org.apache.seatunnel.engine.server.task.SourceSeaTunnelTask.call(SourceSeaTunnelTask.java:89) ~[seatunnel-starter.jar:2.3.2] at org.apache.seatunnel.engine.server.TaskExecutionService$BlockingWorker.run(TaskExecutionService.java:613) ~[seatunnel-starter.jar:2.3.2] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_361] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_361] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) ~[?:1.8.0_361] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ~[?:1.8.0_361] at java.lang.Thread.run(Thread.java:750) [?:1.8.0_361] Caused by: java.net.SocketTimeoutException: Read timed out at java.net.SocketInputStream.socketRead0(Native Method) ~[?:1.8.0_361] at java.net.SocketInputStream.socketRead(SocketInputStream.java:116) ~[?:1.8.0_361] at java.net.SocketInputStream.read(SocketInputStream.java:171) ~[?:1.8.0_361] at java.net.SocketInputStream.read(SocketInputStream.java:141) ~[?:1.8.0_361] at sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:475) ~[?:1.8.0_361] at sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:469) ~[?:1.8.0_361] at sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:69) ~[?:1.8.0_361] at sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1271) ~[?:1.8.0_361] at sun.security.ssl.SSLSocketImpl.access$300(SSLSocketImpl.java:76) ~[?:1.8.0_361] at sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:948) ~[?:1.8.0_361] at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:139) ~[seatunnel-hadoop3-3.1.4-uber-2.3.2-optional.jar:2.3.2] at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:155) ~[seatunnel-hadoop3-3.1.4-uber-2.3.2-optional.jar:2.3.2] at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:284) ~[seatunnel-hadoop3-3.1.4-uber-2.3.2-optional.jar:2.3.2] at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138) ~[seatunnel-hadoop3-3.1.4-uber-2.3.2-optional.jar:2.3.2] at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56) ~[seatunnel-hadoop3-3.1.4-uber-2.3.2-optional.jar:2.3.2] at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261) ~[seatunnel-hadoop3-3.1.4-uber-2.3.2-optional.jar:2.3.2] at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:165) ~[seatunnel-hadoop3-3.1.4-uber-2.3.2-optional.jar:2.3.2] at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:157) ~[seatunnel-hadoop3-3.1.4-uber-2.3.2-optional.jar:2.3.2] at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272) ~[seatunnel-hadoop3-3.1.4-uber-2.3.2-optional.jar:2.3.2] at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124) ~[seatunnel-hadoop3-3.1.4-uber-2.3.2-optional.jar:2.3.2] at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272) ~[seatunnel-hadoop3-3.1.4-uber-2.3.2-optional.jar:2.3.2] at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186) ~[seatunnel-hadoop3-3.1.4-uber-2.3.2-optional.jar:2.3.2] at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) ~[seatunnel-hadoop3-3.1.4-uber-2.3.2-optional.jar:2.3.2] at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) ~[seatunnel-hadoop3-3.1.4-uber-2.3.2-optional.jar:2.3.2] at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) ~[seatunnel-hadoop3-3.1.4-uber-2.3.2-optional.jar:2.3.2] at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) ~[seatunnel-hadoop3-3.1.4-uber-2.3.2-optional.jar:2.3.2] at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108) ~[seatunnel-hadoop3-3.1.4-uber-2.3.2-optional.jar:2.3.2] at org.apache.seatunnel.connectors.seatunnel.http.client.HttpClientProvider.lambda$retryWithException$1(HttpClientProvider.java:373) ~[?:?] at com.github.rholder.retry.AttemptTimeLimiters$NoAttemptTimeLimit.call(AttemptTimeLimiters.java:78) ~[?:?] at com.github.rholder.retry.Retryer.call(Retryer.java:160) ~[?:?] ... 15 more ``` ### Zeta or Flink or Spark Version Zeta ### Java or Scala Version java 1.8 ### Screenshots _No response_ ### Are you willing to submit PR? - [ ] Yes I am willing to submit a PR! ### Code of Conduct - [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
