apache / dubbo

The java implementation of Apache Dubbo. An RPC and microservice framework.
https://dubbo.apache.org/
Apache License 2.0
40.34k stars 26.4k forks source link

Failed to invoke the method $invoke in the service org.apache.dubbo.rpc.service.GenericService #8283

Open qisuwan opened 3 years ago

qisuwan commented 3 years ago

Environment

Steps to reproduce this issue

架构:3个服务,demo-account-service,demo-order-service,demo-gateway-api

demo-gateway-api 调用 demo-order-service,demo-order-service 调用 demo-account-service

先后启动 demo-account-service,demo-order-service 正常 启动 demo-gateway-api 的时候就报异常,好像是元数据服务不存在,在nacos控制台中已经存在注册的服务了 image

Expected Result

正常调用服务

Actual Result

What actually happens?

If there is an exception, please attach the exception trace:

2021-07-13 17:12:03.030 ERROR 7492 --- [           main] .s.DubboMetadataServiceInvocationHandler : Failed to invoke the method $invoke in the service org.apache.dubbo.rpc.service.GenericService. No provider available for the service demo-order-service/com.alibaba.cloud.dubbo.service.DubboMetadataService:1.0.0 from registry 192.168.0.248:18848 on the consumer 192.168.1.112 using the dubbo version 2.7.8. Please check if the providers have been started and registered.

org.apache.dubbo.rpc.RpcException: Failed to invoke the method $invoke in the service org.apache.dubbo.rpc.service.GenericService. No provider available for the service demo-order-service/com.alibaba.cloud.dubbo.service.DubboMetadataService:1.0.0 from registry 192.168.0.248:18848 on the consumer 192.168.1.112 using the dubbo version 2.7.8. Please check if the providers have been started and registered.
    at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.checkInvokers(AbstractClusterInvoker.java:283) ~[dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:59) ~[dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:260) ~[dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.rpc.cluster.interceptor.ClusterInterceptor.intercept(ClusterInterceptor.java:47) ~[dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.rpc.cluster.support.wrapper.AbstractCluster$InterceptorInvokerNode.invoke(AbstractCluster.java:92) ~[dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:88) ~[dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.rpc.cluster.support.registry.ZoneAwareClusterInvoker.doInvoke(ZoneAwareClusterInvoker.java:91) ~[dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:260) ~[dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.rpc.cluster.interceptor.ClusterInterceptor.intercept(ClusterInterceptor.java:47) ~[dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.rpc.cluster.support.wrapper.AbstractCluster$InterceptorInvokerNode.invoke(AbstractCluster.java:92) ~[dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:74) ~[dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.common.bytecode.proxy0.$invoke(proxy0.java) ~[dubbo-2.7.8.jar:2.7.8]
    at com.alibaba.cloud.dubbo.service.DubboMetadataServiceInvocationHandler.invoke(DubboMetadataServiceInvocationHandler.java:48) ~[spring-cloud-starter-dubbo-2.2.6.RC1.jar:2.2.6.RC1]
    at com.sun.proxy.$Proxy88.getExportedURLs(Unknown Source) [na:na]
    at com.alibaba.cloud.dubbo.registry.GenearalServiceSubscribeHandler.getExportedURLs(GenearalServiceSubscribeHandler.java:269) [spring-cloud-starter-dubbo-2.2.6.RC1.jar:2.2.6.RC1]
    at com.alibaba.cloud.dubbo.registry.GenearalServiceSubscribeHandler.getTemplateExportedURLs(GenearalServiceSubscribeHandler.java:242) [spring-cloud-starter-dubbo-2.2.6.RC1.jar:2.2.6.RC1]
    at com.alibaba.cloud.dubbo.registry.GenearalServiceSubscribeHandler.init(GenearalServiceSubscribeHandler.java:126) [spring-cloud-starter-dubbo-2.2.6.RC1.jar:2.2.6.RC1]
    at com.alibaba.cloud.dubbo.registry.GenearalServiceSubscribeHandler.doInit(GenearalServiceSubscribeHandler.java:118) [spring-cloud-starter-dubbo-2.2.6.RC1.jar:2.2.6.RC1]
    at com.alibaba.cloud.dubbo.registry.AbstractServiceSubscribeHandler.init(AbstractServiceSubscribeHandler.java:84) [spring-cloud-starter-dubbo-2.2.6.RC1.jar:2.2.6.RC1]
    at com.alibaba.cloud.dubbo.registry.DubboCloudRegistry.doSubscribe(DubboCloudRegistry.java:231) [spring-cloud-starter-dubbo-2.2.6.RC1.jar:2.2.6.RC1]
    at org.apache.dubbo.registry.support.FailbackRegistry.subscribe(FailbackRegistry.java:333) [dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.registry.ListenerRegistryWrapper.subscribe(ListenerRegistryWrapper.java:105) [dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.registry.integration.RegistryDirectory.subscribe(RegistryDirectory.java:185) [dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.registry.integration.RegistryProtocol.doRefer(RegistryProtocol.java:469) [dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.registry.integration.RegistryProtocol.refer(RegistryProtocol.java:454) [dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.rpc.protocol.ProtocolListenerWrapper.refer(ProtocolListenerWrapper.java:72) [dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper.refer(ProtocolFilterWrapper.java:161) [dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.qos.protocol.QosProtocolWrapper.refer(QosProtocolWrapper.java:73) [dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.rpc.Protocol$Adaptive.refer(Protocol$Adaptive.java) [dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.config.ReferenceConfig.createProxy(ReferenceConfig.java:372) [dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:305) [dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:205) [dubbo-2.7.8.jar:2.7.8]
    at org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor.doGetInjectedBean(ReferenceAnnotationBeanPostProcessor.java:144) [dubbo-2.7.8.jar:2.7.8]
    at com.alibaba.spring.beans.factory.annotation.AbstractAnnotationBeanPostProcessor.getInjectedObject(AbstractAnnotationBeanPostProcessor.java:362) [spring-context-support-1.0.10.jar:na]
    at com.alibaba.spring.beans.factory.annotation.AbstractAnnotationBeanPostProcessor$AnnotatedFieldElement.inject(AbstractAnnotationBeanPostProcessor.java:542) [spring-context-support-1.0.10.jar:na]
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) [spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at com.alibaba.spring.beans.factory.annotation.AbstractAnnotationBeanPostProcessor.postProcessPropertyValues(AbstractAnnotationBeanPostProcessor.java:145) [spring-context-support-1.0.10.jar:na]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1430) [spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593) [spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516) [spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324) [spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322) [spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) [spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:897) ~[spring-beans-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:879) ~[spring-context-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:551) ~[spring-context-5.2.13.RELEASE.jar:5.2.13.RELEASE]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:143) ~[spring-boot-2.3.9.RELEASE.jar:2.3.9.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) ~[spring-boot-2.3.9.RELEASE.jar:2.3.9.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750) ~[spring-boot-2.3.9.RELEASE.jar:2.3.9.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:405) ~[spring-boot-2.3.9.RELEASE.jar:2.3.9.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-boot-2.3.9.RELEASE.jar:2.3.9.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237) ~[spring-boot-2.3.9.RELEASE.jar:2.3.9.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) ~[spring-boot-2.3.9.RELEASE.jar:2.3.9.RELEASE]
    at com.fight.demogateway.DemoGatewayApiApplication.main(DemoGatewayApiApplication.java:14) ~[classes/:na]
wtsoftware commented 3 years ago

没人发现这问题?

AlbumenJ commented 3 years ago

This might a issue of SpringCloud Alibaba.

aliuql commented 2 years ago

spring cloud alibaba 2.2.7.RELEASE , dubbo 2.7.13 和 dubbo 2.7.15 依旧存在这个问题。

yeahwell commented 2 years ago

这个问题在dubbo 3.0.8版本已然存在

whirzhangkh commented 1 year ago

这个BUG是不准备关闭了么