Comments (4)
这个问题的修复似乎与 #3386 类似,也要修改 ResourceMetadataRegistry
这个类。我现在不能确定是否代码冲突。等到 #3395 被合并或其他什么方式解决了 #3386 再处理这个 Bug。
我会在这几天先尝试完成 idea 插件对类级别注解的支持。
from sentinel.
仔细分析了这个bug,不只是 class 级 annotation 会导致这个情况。
只要有多个不同返回值类型的方法的 blockHandler
、 fallback
、 defaultFallback
尝试使用同一处理类的相同名称的处理方法,都有可能会触发这个 bug 里。
具体来说:
defaultFallback
不同的方法尝试使用相同处理类中同名的处理方法,只要有一个方法的处理器方法能成功解析就必定触发这个 bugfallback
、blockHandler
不同的方法如果方法返回值不同(至少没有继承关系),如果尝试使用同一类中同名处理方法,只要有一个方法的处理器能成功解析就会触发这个 bug。如果有多个解析成功,且它们的参数类型列表不同,会触发 #3386
- 不论是
blockHandler
、fallback
还是defaultFallback
,如果声明了值,但全都解析失败,找不到实际可用的处理器方法,会巧合的避过这个 bug。
另外,因为类级别注解的查找、非 static 处理方法的查找还会跨继承关系查找,可能实际会有更复杂的冲突情况
from sentinel.
插件 Alibaba Sentinel Annotation Support 版本已更新,对类注解提供了相关支持,同时对该bug情形进行了检查报错:
Kapture.2024-05-23.at.16.04.07.mp4
from sentinel.
这个问题的修复似乎与 #3386 类似,也要修改
ResourceMetadataRegistry
这个类。我现在不能确定是否代码冲突。等到 #3395 被合并或其他什么方式解决了 #3386 再处理这个 Bug。我会在这几天先尝试完成 idea 插件对类级别注解的支持。
有谁能给我讲下,在类上使用注解的设计意图、实际场景吗?我在想是修复这个bug,还是提议干掉类注解。
from sentinel.
Related Issues (20)
- Dashboard向应用服务发起Metric请求,请求失败后,无详细错误信息 HOT 1
- Improve the performance and latency for the cluster limiter
- Same name fallback/blockHandler with different parameter types cause reflect exception HOT 1
- sentinel dashboard push.,支持 nacos、apollo...实现方式
- [BUG] 多个微服务拥有相同配置,相同依赖,启动后,只有一个微服务可以在控制台看到 HOT 1
- sentinel-apache-dubbo3-adapter Specifies whether the adapter supports dubbo 3.2.x
- 建议给Flow/DegradationRuleManager的规则添加append方法
- [BUG] 容器环境中tokenserver检测到的机器远多于现存应用
- [BUG] 使用nacos作为规则数据源时,获取初始化配置失败 HOT 1
- [BUG] Sentinel push Mode GatewayApiDefinitionManager.ApiDefinitionPropertyListener Deserialization fail
- Integrate Sentinel, performance torture testing with increasing number of rule configurations
- [BUG] 使用来源白名单功能时,没有设置orgin的客户端请求会立即通过,功能失效。 HOT 3
- Incorrectly described in the official document 官网文档描述有误 HOT 2
- [BUG] ParamFlowRuleManager的getRulesOfResource会有空指针异常 HOT 1
- 请问你们的集群模式的文档是给人看的吗,感觉讲一半,配置给一半?能不能给一个直接能配置出一个集群模式的文档?
- DefaultCircuitBreakerRuleManager在1.8.8已经可用了吗 HOT 1
- Persistence of gateway mode flow control rules in the Sentinel dashboard
- [BUG] 熔断规则中编辑页面没有正确显示设置的统计时长 HOT 1
- sentinel 好像不支持reactor 3.5.0 以上的版本,后续有升级计划么
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sentinel.