hengyuss opened a new pull request, #7629:
URL: https://github.com/apache/shenyu/pull/7629

   Related to #7384.
   
   ## What this PR does
   
   - introduces protocol-independent transport properties for connection, 
response-header, stream-idle, and total-stream timeouts;
   - adds classified transport failures without embedding retry or fallback 
policy in the Transport layer;
   - forwards upstream response bodies reactively without full buffering and 
preserves cancellation/backpressure;
   - enforces a cumulative response-size limit, including an early 
`Content-Length` check;
   - releases discarded `DataBuffer` instances and cancels oversized or 
timed-out upstream responses;
   - binds the transport settings through the AI Proxy starter and documents 
the available configuration;
   - keeps the existing orchestration behavior through minimal 
`AiTransportException` integration;
   - adds unit tests for normal and streaming responses, timeout boundaries, 
response-size limits, cancellation, failure classification, and configuration 
binding.
   
   ## Scope
   
   This is an incremental implementation of #7384 and intentionally does not 
close the issue.
   
   Follow-up work still includes:
   
   - a dedicated shared Reactor Netty `ConnectionProvider`;
   - configurable connection limits, pending-acquire timeout, idle/lifetime 
eviction, and lifecycle disposal;
   - transport-level HTTP proxy and TLS configuration;
   - transport metrics and observability data.
   
   Retry and fallback decisions remain outside the Transport layer. More 
detailed failure-aware retry/fallback policy will be proposed separately.
   
   ## Tests
   
   - `./mvnw -pl shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy 
-Dtest='WebClientAiProxyTransportTest,AiProxyPluginTest' test -Drat.skip=true`
   - `./mvnw -pl 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-ai-proxy
 -am -Dtest=AiProxyPluginConfigurationTest 
-Dsurefire.failIfNoSpecifiedTests=false test -Drat.skip=true`
   - Checkstyle passed for the affected modules.
   
   Make sure that:
   
   - [ ] You have read the [contribution 
guidelines](https://shenyu.apache.org/community/contributor-guide).
   - [x] You submit test cases (unit or integration tests) that back your 
changes.
   - [ ] Your local test passed `./mvnw clean install 
-Dmaven.javadoc.skip=true`.
   


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