在dubbo2.7.5中,如果没有服务提供者的话会抛出“No provider.....”的异常。但是在3.0.10中,如果invokers是空数组的话就会出现数组越界。这个改动是为什么呢?
f0brbegy1#
这个是在所有注册中心都检测不通过后兜底的行为,防止因为注册中心实现有问题导致调用直接失败
aiqt4smr2#
是否应该加个invoker列表为空的判断?如果invoker列表为空的话可以看作没有服务提供者在线,这种情况下再invokers.get(0)就会抛出数组越界的异常,会误导业务方问题排查。
scyqe7ek3#
可以的,数据越界判断是必要的
xhv8bpkk4#
I would like to fix this issue, can you assign it to me?
6jjcrrmo5#
sure,please
5条答案
按热度按时间f0brbegy1#
这个是在所有注册中心都检测不通过后兜底的行为,防止因为注册中心实现有问题导致调用直接失败
aiqt4smr2#
是否应该加个invoker列表为空的判断?如果invoker列表为空的话可以看作没有服务提供者在线,这种情况下再invokers.get(0)就会抛出数组越界的异常,会误导业务方问题排查。
scyqe7ek3#
是否应该加个invoker列表为空的判断?如果invoker列表为空的话可以看作没有服务提供者在线,这种情况下再invokers.get(0)就会抛出数组越界的异常,会误导业务方问题排查。
可以的,数据越界判断是必要的
xhv8bpkk4#
I would like to fix this issue, can you assign it to me?
6jjcrrmo5#
I would like to fix this issue, can you assign it to me?
sure,please