Admaing opened a new pull request, #18612:
URL: https://github.com/apache/dolphinscheduler/pull/18612

   
   The HTTP task (OkHttp based on dev) opens sockets with SO_KEEPALIVE 
disabled. Behind a stateful firewall / security group (conntrack) that evicts 
idle TCP sessions, a long-running request whose response is delayed for longer 
than the idle-eviction window gets its session silently dropped, so the task 
fails with Read timed out. curl succeeds because libcurl enables TCP keepalive 
by default and keeps refreshing the conntrack entry.
   
   Add a per-task boolean 'socketKeepAlive' (default false, preserving current 
behaviour) to the HTTP task parameters, expose it in the UI, and wire it 
through the shared OkHttpUtils via dedicated overloads that select a socket 
factory enabling TCP keepalive when requested. Existing OkHttpUtils call sites 
(alert, oauth) are unchanged.
   
   Note: the keepalive probe interval itself is governed by the worker host OS 
sysctls (net.ipv4.tcp_keepalive_time etc), not by this JVM setting; documented 
next to the field.
   
   Tests: HttpParametersTest covers serialization/default, HttpTaskTest runs 
GET/POST/DELETE with keepalive enabled against a MockWebServer.
   
   <!--Thanks very much for contributing to Apache DolphinScheduler, we are 
happy that you want to help us improve DolphinScheduler! -->
   
   ## Was this PR generated or assisted by AI?
   
   <!--(Please answer YES or NO. If YES, please specify which parts were 
generated or assisted by AI)-->
   
   ## Purpose of the pull request
   
   <!--(For example: This pull request adds checkstyle plugin).-->
   
   ## Brief change log
   
   <!--*(for example:)*
   - *Add maven-checkstyle-plugin to root pom.xml*
   -->
   
   ## Verify this pull request
   
   <!--*(Please pick either of the following options)*-->
   
   This pull request is code cleanup without any test coverage.
   
   *(or)*
   
   This pull request is already covered by existing tests, such as *(please 
describe tests)*.
   
   (or)
   
   This change added tests and can be verified as follows:
   
   <!--*(example:)*
   - *Added dolphinscheduler-dao tests for end-to-end.*
   - *Added CronUtilsTest to verify the change.*
   - *Manually verified the change by testing locally.* -->
   
   (or)
   
   ## Pull Request Notice
   [Pull Request 
Notice](https://github.com/apache/dolphinscheduler/blob/dev/docs/docs/en/contribute/join/pull-request.md)
   
   If your pull request contains incompatible change, you should also add it to 
`docs/docs/en/guide/upgrade/incompatible.md`
   


-- 
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]

Reply via email to