refactor: converge protocol and triple configuration models - #3613
refactor: converge protocol and triple configuration models#3613EmptyCity-111 wants to merge 3 commits into
Conversation
|
pls fix ci fail |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #3613 +/- ##
===========================================
+ Coverage 46.76% 54.00% +7.23%
===========================================
Files 295 474 +179
Lines 17172 36410 +19238
===========================================
+ Hits 8031 19662 +11631
- Misses 8287 15166 +6879
- Partials 854 1582 +728 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Hi @Alanxtl, the main CI (format, unit tests, lint, and Codecov) is green. The Integration Test failed again only at the observability assertion This is the same environment-dependent failure as the previous run and is unrelated to the protocol configuration diff. I tried to rerun the failed job, but GitHub requires repository admin permission. Could you please rerun the failed Integration Test job when convenient? Job: https://github.com/apache/dubbo-go/actions/runs/31297924714/job/93206026829 |
|
@EmptyCity-111 the target branch of your PR should be 'develop'. |
Keep Triple-specific message size settings under TripleConfig and move the receive-size default with them. Continue populating legacy URL parameters so downstream protocol handling keeps working, and align the schema and tests with the nested model. Refs: apache#3598 Signed-off-by: EmptyCity-111 <3047874865@qq.com>
Signed-off-by: EmptyCity-111 <3047874865@qq.com>
Keep deprecated ProtocolConfig message size fields available through v3, migrate their values into TripleConfig when nested values are empty, and preserve nested precedence during export. Add YAML, URL propagation, external compilation, and real Triple request-size regression coverage. Signed-off-by: EmptyCity-111 <3047874865@qq.com>
3b4437e to
672fd79
Compare
|
| // fix https://github.com/apache/dubbo-go/issues/2176 | ||
| // TODO: remove MaxServerSendMsgSize value and MaxServerRecvMsgSize value when version 4.0.0 |
| Http3: DefaultHttp3Config(), | ||
| Cors: DefaultCorsConfig(), | ||
| OpenAPI: DefaultOpenAPIConfig(), | ||
| MaxServerRecvMsgSize: "4mib", |



Description
Related to #3598, task 5.
Triple server message-size limits currently have two configuration sources:
deprecated top-level fields in
ProtocolConfigand the corresponding fieldsunder
TripleConfig.server/action.gohistorically forwarded theprotocol-level values as URL parameters, while the Triple server later applied
the nested configuration.
This change:
TripleConfigthe runtime source of truth for Triple message-sizesettings;
4mibreceive-size default toTripleConfig;ProtocolConfigfields throughout v3 for sourceand YAML compatibility;
nested values take precedence;
compatibility;
Compatibility
The two deprecated exported fields remain available in v3 and are still cloned
and accepted from legacy YAML. Existing code using
ProtocolConfig.MaxServerSendMsgSizeorProtocolConfig.MaxServerRecvMsgSizetherefore continues to compile.When both legacy and nested values are configured, the non-empty
TripleConfigvalue wins. The deprecated fields remain scheduled for removalin v4.
Validation
Validated after rebasing onto the latest
developbranch:All checks pass.
Checklist
develop.develop.exported URL parameters, and the real Triple server message-size path.