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]