Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Some registry extensions do not implement EMPTY_PROTOCOl. #4294

Closed
chickenlj opened this issue Jun 13, 2019 · 2 comments
Closed

Some registry extensions do not implement EMPTY_PROTOCOl. #4294

chickenlj opened this issue Jun 13, 2019 · 2 comments
Milestone

Comments

@chickenlj
Copy link
Contributor

Typical extensions to check:
Nacos,
Consul,
Etcd

@chickenlj chickenlj added this to the 2.7.3 milestone Jun 13, 2019
@cvictory
Copy link
Contributor

cvictory commented Jun 19, 2019

nacos log console:

org.apache.dubbo.rpc.RpcException: Failed to invoke the method sayHello in the service org.apache.dubbo.samples.basic.api.DemoService. Tried 1 times of the providers [30.5.124.63:20880] (1/1) from the registry 127.0.0.1:8848 on the consumer 30.5.124.63 using the dubbo version 2.7.2. Last error is: Failed to invoke remote method: sayHello, provider: dubbo://30.5.124.63:20880/org.apache.dubbo.samples.basic.api.DemoService?anyhost=true&application=demo-consumer&bean.name=org.apache.dubbo.samples.basic.api.DemoService&category=providers&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&methods=sayHello&path=org.apache.dubbo.samples.basic.api.DemoService&pid=35157&protocol=dubbo&register=true&register.ip=30.5.124.63&release=2.7.2&remote.application=demo-provider&retries=0&side=consumer&sticky=false&timestamp=1560936057490, cause: message can not send, because channel is closed . url:dubbo://30.5.124.63:20880/org.apache.dubbo.samples.basic.api.DemoService?anyhost=true&application=demo-consumer&bean.name=org.apache.dubbo.samples.basic.api.DemoService&category=providers&check=false&codec=dubbo&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&methods=sayHello&path=org.apache.dubbo.samples.basic.api.DemoService&pid=35157&protocol=dubbo&register=true&register.ip=30.5.124.63&release=2.7.2&remote.application=demo-provider&retries=0&side=consumer&sticky=false&timestamp=1560936057490
	at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:113)
	at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:248)
	at org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:78)
	at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:55)
	at org.apache.dubbo.common.bytecode.proxy0.sayHello(proxy0.java)
	at org.apache.dubbo.samples.basic.BasicConsumer.main(BasicConsumer.java:34)
Caused by: org.apache.dubbo.remoting.RemotingException: message can not send, because channel is closed . url:dubbo://30.5.124.63:20880/org.apache.dubbo.samples.basic.api.DemoService?anyhost=true&application=demo-consumer&bean.name=org.apache.dubbo.samples.basic.api.DemoService&category=providers&check=false&codec=dubbo&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&methods=sayHello&path=org.apache.dubbo.samples.basic.api.DemoService&pid=35157&protocol=dubbo&register=true&register.ip=30.5.124.63&release=2.7.2&remote.application=demo-provider&retries=0&side=consumer&sticky=false&timestamp=1560936057490
	at org.apache.dubbo.remoting.transport.AbstractClient.send(AbstractClient.java:175)
	at org.apache.dubbo.remoting.transport.AbstractPeer.send(AbstractPeer.java:53)
	at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeChannel.request(HeaderExchangeChannel.java:118)
	at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeClient.request(HeaderExchangeClient.java:84)
	at org.apache.dubbo.rpc.protocol.dubbo.ReferenceCountExchangeClient.request(ReferenceCountExchangeClient.java:80)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboInvoker.doInvoke(DubboInvoker.java:99)
	at org.apache.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:155)
	at org.apache.dubbo.rpc.protocol.AsyncToSyncInvoker.invoke(AsyncToSyncInvoker.java:50)
	at org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:92)
	at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:82)
	at org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:54)
	at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:82)
	at org.apache.dubbo.rpc.filter.ConsumerContextFilter.invoke(ConsumerContextFilter.java:58)
	at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:82)
	at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$CallbackRegistrationInvoker.invoke(ProtocolFilterWrapper.java:150)
	at org.apache.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:78)
	at org.apache.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:56)
	at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:82)
	... 5 more
org.apache.dubbo.rpc.RpcException: Failed to invoke the method sayHello in the service org.apache.dubbo.samples.basic.api.DemoService. Tried 1 times of the providers [30.5.124.63:20880] (1/1) from the registry 127.0.0.1:8848 on the consumer 30.5.124.63 using the dubbo version 2.7.2. Last error is: Failed to invoke remote method: sayHello, provider: dubbo://30.5.124.63:20880/org.apache.dubbo.samples.basic.api.DemoService?anyhost=true&application=demo-consumer&bean.name=org.apache.dubbo.samples.basic.api.DemoService&category=providers&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&methods=sayHello&path=org.apache.dubbo.samples.basic.api.DemoService&pid=35157&protocol=dubbo&register=true&register.ip=30.5.124.63&release=2.7.2&remote.application=demo-provider&retries=0&side=consumer&sticky=false&timestamp=1560936057490, cause: message can not send, because channel is closed . url:dubbo://30.5.124.63:20880/org.apache.dubbo.samples.basic.api.DemoService?anyhost=true&application=demo-consumer&bean.name=org.apache.dubbo.samples.basic.api.DemoService&category=providers&check=false&codec=dubbo&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&methods=sayHello&path=org.apache.dubbo.samples.basic.api.DemoService&pid=35157&protocol=dubbo&register=true&register.ip=30.5.124.63&release=2.7.2&remote.application=demo-provider&retries=0&side=consumer&sticky=false&timestamp=1560936057490
	at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:113)
	at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:248)
	at org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:78)
	at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:55)
	at org.apache.dubbo.common.bytecode.proxy0.sayHello(proxy0.java)
	at org.apache.dubbo.samples.basic.BasicConsumer.main(BasicConsumer.java:34)
Caused by: org.apache.dubbo.remoting.RemotingException: message can not send, because channel is closed . url:dubbo://30.5.124.63:20880/org.apache.dubbo.samples.basic.api.DemoService?anyhost=true&application=demo-consumer&bean.name=org.apache.dubbo.samples.basic.api.DemoService&category=providers&check=false&codec=dubbo&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&methods=sayHello&path=org.apache.dubbo.samples.basic.api.DemoService&pid=35157&protocol=dubbo&register=true&register.ip=30.5.124.63&release=2.7.2&remote.application=demo-provider&retries=0&side=consumer&sticky=false&timestamp=1560936057490
	at org.apache.dubbo.remoting.transport.AbstractClient.send(AbstractClient.java:175)
	at org.apache.dubbo.remoting.transport.AbstractPeer.send(AbstractPeer.java:53)
	at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeChannel.request(HeaderExchangeChannel.java:118)
	at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeClient.request(HeaderExchangeClient.java:84)
	at org.apache.dubbo.rpc.protocol.dubbo.ReferenceCountExchangeClient.request(ReferenceCountExchangeClient.java:80)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboInvoker.doInvoke(DubboInvoker.java:99)
	at org.apache.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:155)
	at org.apache.dubbo.rpc.protocol.AsyncToSyncInvoker.invoke(AsyncToSyncInvoker.java:50)
	at org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:92)
	at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:82)
	at org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:54)
	at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:82)
	at org.apache.dubbo.rpc.filter.ConsumerContextFilter.invoke(ConsumerContextFilter.java:58)
	at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:82)
	at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$CallbackRegistrationInvoker.invoke(ProtocolFilterWrapper.java:150)
	at org.apache.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:78)
	at org.apache.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:56)
	at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:82)
	... 5 more
org.apache.dubbo.rpc.RpcException: Failed to invoke the method sayHello in the service org.apache.dubbo.samples.basic.api.DemoService. Tried 1 times of the providers [30.5.124.63:20880] (1/1) from the registry 127.0.0.1:8848 on the consumer 30.5.124.63 using the dubbo version 2.7.2. Last error is: Failed to invoke remote method: sayHello, provider: dubbo://30.5.124.63:20880/org.apache.dubbo.samples.basic.api.DemoService?anyhost=true&application=demo-consumer&bean.name=org.apache.dubbo.samples.basic.api.DemoService&category=providers&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&methods=sayHello&path=org.apache.dubbo.samples.basic.api.DemoService&pid=35157&protocol=dubbo&register=true&register.ip=30.5.124.63&release=2.7.2&remote.application=demo-provider&retries=0&side=consumer&sticky=false&timestamp=1560936057490, cause: message can not send, because channel is closed . url:dubbo://30.5.124.63:20880/org.apache.dubbo.samples.basic.api.DemoService?anyhost=true&application=demo-consumer&bean.name=org.apache.dubbo.samples.basic.api.DemoService&category=providers&check=false&codec=dubbo&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&methods=sayHello&path=org.apache.dubbo.samples.basic.api.DemoService&pid=35157&protocol=dubbo&register=true&register.ip=30.5.124.63&release=2.7.2&remote.application=demo-provider&retries=0&side=consumer&sticky=false&timestamp=1560936057490
	at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:113)
	at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:248)
	at org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:78)
	at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:55)
	at org.apache.dubbo.common.bytecode.proxy0.sayHello(proxy0.java)
	at org.apache.dubbo.samples.basic.BasicConsumer.main(BasicConsumer.java:34)
Caused by: org.apache.dubbo.remoting.RemotingException: message can not send, because channel is closed . url:dubbo://30.5.124.63:20880/org.apache.dubbo.samples.basic.api.DemoService?anyhost=true&application=demo-consumer&bean.name=org.apache.dubbo.samples.basic.api.DemoService&category=providers&check=false&codec=dubbo&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&methods=sayHello&path=org.apache.dubbo.samples.basic.api.DemoService&pid=35157&protocol=dubbo&register=true&register.ip=30.5.124.63&release=2.7.2&remote.application=demo-provider&retries=0&side=consumer&sticky=false&timestamp=1560936057490
	at org.apache.dubbo.remoting.transport.AbstractClient.send(AbstractClient.java:175)
	at org.apache.dubbo.remoting.transport.AbstractPeer.send(AbstractPeer.java:53)
	at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeChannel.request(HeaderExchangeChannel.java:118)
	at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeClient.request(HeaderExchangeClient.java:84)
	at org.apache.dubbo.rpc.protocol.dubbo.ReferenceCountExchangeClient.request(ReferenceCountExchangeClient.java:80)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboInvoker.doInvoke(DubboInvoker.java:99)
	at org.apache.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:155)
	at org.apache.dubbo.rpc.protocol.AsyncToSyncInvoker.invoke(AsyncToSyncInvoker.java:50)
	at org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:92)
	at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:82)
	at org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:54)
	at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:82)
	at org.apache.dubbo.rpc.filter.ConsumerContextFilter.invoke(ConsumerContextFilter.java:58)
	at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:82)
	at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$CallbackRegistrationInvoker.invoke(ProtocolFilterWrapper.java:150)
	at org.apache.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:78)
	at org.apache.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:56)
	at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:82)
	... 5 more
org.apache.dubbo.rpc.RpcException: Failed to invoke the method sayHello in the service org.apache.dubbo.samples.basic.api.DemoService. Tried 1 times of the providers [30.5.124.63:20880] (1/1) from the registry 127.0.0.1:8848 on the consumer 30.5.124.63 using the dubbo version 2.7.2. Last error is: Failed to invoke remote method: sayHello, provider: dubbo://30.5.124.63:20880/org.apache.dubbo.samples.basic.api.DemoService?anyhost=true&application=demo-consumer&bean.name=org.apache.dubbo.samples.basic.api.DemoService&category=providers&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&methods=sayHello&path=org.apache.dubbo.samples.basic.api.DemoService&pid=35157&protocol=dubbo&register=true&register.ip=30.5.124.63&release=2.7.2&remote.application=demo-provider&retries=0&side=consumer&sticky=false&timestamp=1560936057490, cause: message can not send, because channel is closed . url:dubbo://30.5.124.63:20880/org.apache.dubbo.samples.basic.api.DemoService?anyhost=true&application=demo-consumer&bean.name=org.apache.dubbo.samples.basic.api.DemoService&category=providers&check=false&codec=dubbo&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&methods=sayHello&path=org.apache.dubbo.samples.basic.api.DemoService&pid=35157&protocol=dubbo&register=true&register.ip=30.5.124.63&release=2.7.2&remote.application=demo-provider&retries=0&side=consumer&sticky=false&timestamp=1560936057490
	at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:113)
	at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:248)
	at org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:78)
	at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:55)
	at org.apache.dubbo.common.bytecode.proxy0.sayHello(proxy0.java)
	at org.apache.dubbo.samples.basic.BasicConsumer.main(BasicConsumer.java:34)
Caused by: org.apache.dubbo.remoting.RemotingException: message can not send, because channel is closed . url:dubbo://30.5.124.63:20880/org.apache.dubbo.samples.basic.api.DemoService?anyhost=true&application=demo-consumer&bean.name=org.apache.dubbo.samples.basic.api.DemoService&category=providers&check=false&codec=dubbo&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&heartbeat=60000&interface=org.apache.dubbo.samples.basic.api.DemoService&lazy=false&methods=sayHello&path=org.apache.dubbo.samples.basic.api.DemoService&pid=35157&protocol=dubbo&register=true&register.ip=30.5.124.63&release=2.7.2&remote.application=demo-provider&retries=0&side=consumer&sticky=false&timestamp=1560936057490
	at org.apache.dubbo.remoting.transport.AbstractClient.send(AbstractClient.java:175)
	at org.apache.dubbo.remoting.transport.AbstractPeer.send(AbstractPeer.java:53)
	at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeChannel.request(HeaderExchangeChannel.java:118)
	at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeClient.request(HeaderExchangeClient.java:84)
	at org.apache.dubbo.rpc.protocol.dubbo.ReferenceCountExchangeClient.request(ReferenceCountExchangeClient.java:80)
	at org.apache.dubbo.rpc.protocol.dubbo.DubboInvoker.doInvoke(DubboInvoker.java:99)
	at org.apache.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:155)
	at org.apache.dubbo.rpc.protocol.AsyncToSyncInvoker.invoke(AsyncToSyncInvoker.java:50)
	at org.apache.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:92)
	at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:82)
	at org.apache.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:54)
	at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:82)
	at org.apache.dubbo.rpc.filter.ConsumerContextFilter.invoke(ConsumerContextFilter.java:58)
	at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:82)
	at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$CallbackRegistrationInvoker.invoke(ProtocolFilterWrapper.java:150)
	at org.apache.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:78)
	at org.apache.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:56)
	at org.apache.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:82)
	... 5 more

The right log as following:

org.apache.dubbo.rpc.RpcException: No provider available from registry 127.0.0.1:8848 for service org.apache.dubbo.samples.basic.api.DemoService on consumer 30.5.124.63 use dubbo version 2.7.3-SNAPSHOT, please check status of providers(disabled, not registered or in blacklist).
	at org.apache.dubbo.registry.integration.RegistryDirectory.doList(RegistryDirectory.java:567)
	at org.apache.dubbo.rpc.cluster.directory.AbstractDirectory.list(AbstractDirectory.java:85)
	at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.list(AbstractClusterInvoker.java:280)
	at org.apache.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:245)
	at org.apache.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:78)
	at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:55)
	at org.apache.dubbo.common.bytecode.proxy0.sayHello(proxy0.java)
	at org.apache.dubbo.samples.basic.BasicConsumer.main(BasicConsumer.java:34)

@cvictory
Copy link
Contributor

etcd worked well. Consul have the same issue with nacos.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants