Skip to content

Sentinel Dubbo adapter is not compatible with Dubbo 2.7.x #496

@linzhiqiang0514

Description

@linzhiqiang0514

Issue Description

Type: bug report

Describe what happened (or what feature you want)

aused by: org.apache.dubbo.rpc.RpcException: Failed to invoke the method sayHello in the service com.ffcs.crmd.test.facade.UserFacade. Tried 3 times of the providers [192.168.250.37:20880] (1/1) from the registry localhost:2181 on the consumer 192.168.250.37 using the dubbo version 2.7.0. Last error is: com.alibaba.dubbo.rpc.Invoker.getUrl()Lcom/alibaba/dubbo/common/URL;
at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:111) ~[dubbo-2.7.0.jar:2.7.0]
at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:241) ~[dubbo-2.7.0.jar:2.7.0]
at org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:75) ~[dubbo-2.7.0.jar:2.7.0]
at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:57) ~[dubbo-2.7.0.jar:2.7.0]
at org.apache.dubbo.common.bytecode.proxy0.sayHello(proxy0.java) ~[dubbo-2.7.0.jar:2.7.0]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_72]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_72]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_72]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_72]
at org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor$ReferenceBeanInvocationHandler.invoke(ReferenceAnnotationBeanPostProcessor.java:158) ~[dubbo-2.7.0.jar:2.7.0]
... 68 more
Caused by: java.lang.NoSuchMethodError: com.alibaba.dubbo.rpc.Invoker.getUrl()Lcom/alibaba/dubbo/common/URL;
at com.alibaba.csp.sentinel.adapter.dubbo.DubboAppContextFilter.invoke(DubboAppContextFilter.java:37) ~[sentinel-dubbo-adapter-1.4.1.jar:?]
at com.alibaba.dubbo.rpc.Filter.invoke(Filter.java:29) ~[dubbo-2.7.0.jar:2.7.0]
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:73) ~[dubbo-2.7.0.jar:2.7.0]
at org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:49) ~[dubbo-2.7.0.jar:2.7.0]
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:73) ~[dubbo-2.7.0.jar:2.7.0]
at org.apache.dubbo.rpc.filter.ConsumerContextFilter.invoke(ConsumerContextFilter.java:54) ~[dubbo-2.7.0.jar:2.7.0]
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:73) ~[dubbo-2.7.0.jar:2.7.0]
at org.apache.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:77) ~[dubbo-2.7.0.jar:2.7.0]
at org.apache.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:56) ~[dubbo-2.7.0.jar:2.7.0]
at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:80) ~[dubbo-2.7.0.jar:2.7.0]
at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:241) ~[dubbo-2.7.0.jar:2.7.0]
at org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:75) ~[dubbo-2.7.0.jar:2.7.0]
at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:57) ~[dubbo-2.7.0.jar:2.7.0]
at org.apache.dubbo.common.bytecode.proxy0.sayHello(proxy0.java) ~[dubbo-2.7.0.jar:2.7.0]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_72]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_72]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_72]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_72]
at org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor$ReferenceBeanInvocationHandler.invoke(ReferenceAnnotationBeanPostProcessor.java:158) ~[dubbo-2.7.0.jar:2.7.0]
... 68 more

Describe what you expected to happen

正常拦截,并推送信息到控制台。

How to reproduce it (as minimally and precisely as possible)

  1. dubbo2.7.0
  2. 集成Sentinel
  3. 调用服务

Tell us your environment

JDK1.8 + dubbo2.7.0

Anything else we need to know?

2.7的类名变化,Sentinel-dubbo-adapter未及时更新,导致报错。

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/integrationsIssues or PRs related to integrations with open-source componentskind/bugCategory issues or prs related to bug.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions