yangjj-iso opened a new pull request, #7654:
URL: https://github.com/apache/shenyu/pull/7654

   Fixes #5522.
   
   `HttpClientFactory` calls `runOn(loopResources)` but discards the returned 
client. As a result, `shenyu.httpclient.thread-pool.*` can create custom loop 
resources while outbound requests still run on Reactor's global HTTP event 
loops. Keep the configured client returned by `runOn`.
   
   The `doOnConnected` assignment described in the original issue is already 
present on current master. Add real loopback-HTTP regression coverage for the 
remaining event-loop assignment, with all three pool modes, the Spring 
property-binding path, and default resources when no custom loop is supplied. 
The supplied-loop cases also verify that the existing idle/read/write handlers 
are installed.
   
   Validation:
   - Before the fix, four custom-loop scenarios failed because their connection 
callbacks ran on `reactor-http-*`; the default-resource case passed. All five 
pass with the fix.
   - All 51 HTTP plugin tests and 18 HTTP starter tests passed on Java 21: 69 
tests, zero failures/errors/skips.
   - Checkstyle and Apache RAT passed across the affected reactor. `git diff 
--check` passed.
   - Production change is one assignment. Full-repository Maven install and 
Docker E2E were not run for this focused change.
   
   ```sh
   ./mvnw -B -ntp -pl 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-httpclient
 -am test \
     
-Dtest=HttpClientLoopResourcesTest,HttpClientPluginConfigurationTest,HttpClientResponseTimeoutTest,HttpClientPropertiesTest,NettyHttpClientPluginTest,WebClientPluginTest,RetryTimeoutBudgetTest,RetryStrategyTest,RequestBodyReplayRetryTest
 \
     -Dsurefire.failIfNoSpecifiedTests=false -DskipRemoteResources=true \
     -Djacoco.skip=true -Dmaven.javadoc.skip=true
   ```
   
   - [x] Read the contribution guidelines.
   - [x] Submit regression tests.
   - [ ] Full local `./mvnw clean install -Dmaven.javadoc.skip=true` (focused 
validation above).
   


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