[BUG] - 契约加载问题
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 48/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- java
调研方向
首先阅读 MicroserviceVersionRule 中的 findLatest、initData 和 createDataByOtherRule,然后将它们的行为与链接的版本规则文档进行比较。使用所述的在线和离线服务版本复现 0.0.0.0+ 案例。配置的规则能够加载新接口所需的契约,并且消费者调用成功,即表示完成。
由索引模型根据 Issue 内容生成。
描述
Steps to Reproduce
一、问题
- 设置versionRule=0.0.0.0+,而非latest
- B作为服务端,高版本离线,低版本在线,且低版本存在新接口,
A作为消费端,测试调用新接口的情况,报契约问题;
将B的低版本号改为更高版本号,测试通过。
二、怀疑原因
在findLatest函数中只加载了最大版本的契约,不符合文档描述
findLatest:170, MicroserviceVersionRule (org.apache.servicecomb.registry.consumer)
initData:150, MicroserviceVersionRule (org.apache.servicecomb.registry.consumer)
createDataByOtherRule:229, MicroserviceVersionRule (org.apache.servicecomb.registry.consumer)
日志打印:
[oup0-1-thread-1] [ MicroserviceVersions] --- create MicroserviceVersionRule, appId=XXX, microserviceName=XXX, versionRule=0.0.0.0+.
三、文档描述
https://servicecomb.incubator.apache.org/references/java-chassis/2.x/zh_CN/build-consumer/with-contract.html
version-rule是版本匹配规则,有四种格式:
精确版本匹配:例如version-rule: 0.0.1,表示只匹配版本号为0.0.1的服务提供者
后续版本匹配:例如version-rule: 1.0.0+,表示匹配版本号大于或等于1.0.0的服务提供者
最新版本:version-rule: latest,表示匹配最新版本的服务提供者
版本范围:例如1.0.0-2.0.2,表示匹配版本号在1.0.0至2.0.2之间的服务提供者,包含1.0.0和2.0.2
此配置项默认为latest
Expected Behavior
期望在配置0+的versionRule时,能加载所有契约或加载在线实例的契约
Servicecomb Version
2.8.24
Additional Context
业务有诉求,不能保证单个微服务每次升级的版本号是递增的
No response
- 主要语言
- Java
- 星标
- 1.9k
- 派生
- 813
- 平均合并
- 8 天 23 小时
- 30 天内合并 PR
- 1
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
apache/servicecomb-java-chassis 的其他 Issue
-
bug
难度 2/5 1-3 小时 新手友好度 65/100
apache/servicecomb-java-chassis#5106 ·
-
question
难度 5/5 一周以上 新手友好度 35/100
apache/servicecomb-java-chassis#5153 · 1 条评论 ·
-
question
难度 4/5 3-5 天 新手友好度 25/100
apache/servicecomb-java-chassis#5146 ·
-
[FEATURE] - When will ServiceComb support Spring Boot 4.x, Spring Framework 7.x, and Jackson 3.x? 未关闭enhancement
难度 5/5 一周以上 新手友好度 25/100
apache/servicecomb-java-chassis#5145 ·
-
2.x bug
apache/servicecomb-java-chassis#5141 · 已指派 1 人 ·
查看 apache/servicecomb-java-chassis 的全部 Issue
相似的 Issue
-
area-deployment area-integrations triage:bot-seen
难度 2/5 半天 新手友好度 86/100
-
难度 2/5 1-3 小时 新手友好度 75/100
apache/flink-agents#1156 ·
-
area/connectors autoteam community connectors/source/shopify needs-triage team/use type/bug
难度 2/5 1-3 小时 新手友好度 84/100
-
难度 2/5 1-3 小时 新手友好度 70/100
-
难度 1/5 1 小时以内 新手友好度 85/100