Aias00 opened a new issue, #6605: URL: https://github.com/apache/shenyu/issues/6605
## Description Byte-identical `DiscoveryUpstreamData -> Upstream` conversion (Properties-parse -> `Upstream.builder()` with inline `"warmup"/"10"/"gray"/"false"/"healthCheckEnabled"/"true"` literals) duplicated across divide/websocket/grpc. The surrounding null-check->convert->split-gray->submit body is also duplicated verbatim between divide and websocket. The dubbo family already has `AbstractDubboPluginDataHandler` proving the abstraction; divide/websocket/grpc don't use one. ## Location ``` shenyu-plugin-divide/.../DivideUpstreamDataHandler.java:66 shenyu-plugin-websocket/.../WebSocketUpstreamDataHandler.java:59 shenyu-plugin-grpc/.../GrpcDiscoveryUpstreamDataHandler.java:65 (ApacheDubboProxyService.java:171 duplicates conversion a 2nd time within dubbo) ``` ## Impact A bug fix (e.g. warmup default) must be applied 3+ times; the inline magic strings risk per-plugin drift. A typo at one site silently breaks gray/warmup parsing for that plugin only. ## Suggested fix Lift to a shared `AbstractDiscoveryUpstreamDataHandler` mirroring dubbo's pattern; extract an `UpstreamProps` constant/typed deserializer. ## Related existing issue(s) None _Identified during the 2026-08-02 audit; full list in [`docs/issue-candidates-2026-08-02.md`](docs/issue-candidates-2026-08-02.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]
