apache/dubbo

Dubbo3.0.2.1 Failed to invoke remote method: getMetadataInfo, provider:

Open

#8,791 opened on Sep 14, 2021

View on GitHub
 (9 comments) (1 reaction) (0 assignees)Java (26,453 forks)batch import
help wanted

Repository metrics

Stars
 (41,524 stars)
PR merge metrics
 (Avg merge 7d 14h) (20 merged PRs in 30d)

Description

  • I have searched the issues of this repository and believe that this is not a duplicate.
  • I have checked the FAQ of this repository and believe that this is not a duplicate.

Environment

Steps to reproduce this issue

  1. A、B Service Cross reference

Expected Result

Fallback Dubbo version 3.0.1 does not have this problem

Actual Result

What actually happens?

After I update Dubbo version 3.0.1 to 3.0.2.1, the request service result returns to normal, but the exception "failed to invoke remote method: getmetadatainfo, provider:" will be thrown

<!doctype html><html lang="en"><head><title>HTTP Status 400 – Bad Request</title><style type="text/css">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 400 – Bad Request</h1></body></html> in channel: NettyChannel [channel=[id: 0xc33d6db0, L:/192.168.31.105:61470 - R:/192.168.31.105:9211]], url: dubbo://192.168.31.105:9211/org.apache.dubbo.metadata.MetadataService?codec=dubbo&getAndListenInstanceMetadata.1.callback=true&group=api-auth&heartbeat=60000&reconnect=false&side=consumer&timeout=5000&version=1.0.0, dubbo version: 3.0.2.1, current host: 192.168.31.105
java.lang.Exception: Dubbo client can not supported string message: HTTP/1.1 400 
Content-Type: text/html;charset=utf-8
Content-Language: en
Content-Length: 435
Date: Mon, 13 Sep 2021 05:36:36 GMT
Connection: close

<!doctype html><html lang="en"><head><title>HTTP Status 400 – Bad Request</title><style type="text/css">body {font-family:Tahoma,Arial,sans-serif;} h1, h2, h3, b {color:white;background-color:#525D76;} h1 {font-size:22px;} h2 {font-size:16px;} h3 {font-size:14px;} p {font-size:12px;} a {color:black;} .line {height:1px;background-color:#525D76;border:none;}</style></head><body><h1>HTTP Status 400 – Bad Request</h1></body></html> in channel: NettyChannel [channel=[id: 0xc33d6db0, L:/192.168.31.105:61470 - R:/192.168.31.105:9211]], url: dubbo://192.168.31.105:9211/org.apache.dubbo.metadata.MetadataService?codec=dubbo&getAndListenInstanceMetadata.1.callback=true&group=api-auth&heartbeat=60000&reconnect=false&side=consumer&timeout=5000&version=1.0.0
	at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:184)
	at org.apache.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:51)
	at org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:57)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.dubbo.common.threadlocal.InternalRunnable.run(InternalRunnable.java:41)
	at java.lang.Thread.run(Thread.java:748)
13:36:36.259 [nacos.publisher-com.alibaba.nacos.client.naming.event.InstancesChangeEvent] ERROR o.a.d.r.c.e.l.ServiceInstancesChangedListener - [doGetMetadataInfo,341] -  [DUBBO] Failed to load service metadata, meta type is local, dubbo version: 3.0.2.1, current host: 192.168.31.105
org.apache.dubbo.rpc.RpcException: Failed to invoke remote method: getMetadataInfo, provider: dubbo://192.168.31.105:9211/org.apache.dubbo.metadata.MetadataService?getAndListenInstanceMetadata.1.callback=true&group=api-auth&reconnect=false&side=consumer&timeout=5000&version=1.0.0, cause: org.apache.dubbo.remoting.RemotingException: Channel NettyChannel [channel=[id: 0xc33d6db0, L:/192.168.31.105:61470 ! R:/192.168.31.105:9211]] is inactive. Directly return the unFinished request : Request [id=1, version=2.0.2, twoway=true, event=false, broken=false, data=RpcInvocation [methodName=getMetadataInfo, parameterTypes=[class java.lang.String], arguments=[null], attachments={group=api-auth, path=org.apache.dubbo.metadata.MetadataService, version=1.0.0}]]
	at org.apache.dubbo.rpc.protocol.AbstractInvoker.waitForResultIfSync(AbstractInvoker.java:283)
	at org.apache.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:181)
	at org.apache.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:78)
	at io.seata.integration.dubbo.ApacheDubboTransactionPropagationFilter.invoke(ApacheDubboTransactionPropagationFilter.java:69)
	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$FilterChainNode.invoke(FilterChainBuilder.java:82)
	at com.alibaba.dubbo.rpc.Invoker$CompatibleInvoker.invoke(Invoker.java:55)
	at io.seata.integration.dubbo.alibaba.AlibabaDubboTransactionPropagationFilter.invoke(AlibabaDubboTransactionPropagationFilter.java:45)
	at com.alibaba.dubbo.rpc.Filter.invoke(Filter.java:29)
	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$FilterChainNode.invoke(FilterChainBuilder.java:82)
	at com.alibaba.csp.sentinel.adapter.dubbo.SentinelDubboConsumerFilter.syncInvoke(SentinelDubboConsumerFilter.java:82)
	at com.alibaba.csp.sentinel.adapter.dubbo.SentinelDubboConsumerFilter.invoke(SentinelDubboConsumerFilter.java:66)
	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$FilterChainNode.invoke(FilterChainBuilder.java:82)
	at com.alibaba.csp.sentinel.adapter.dubbo.DubboAppContextFilter.invoke(DubboAppContextFilter.java:43)
	at org.apache.dubbo.rpc.cluster.filter.FilterChainBuilder$FilterChainNode.invoke(FilterChainBuilder.java:82)
	at org.apache.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:95)
	at org.apache.dubbo.common.bytecode.proxy2.getMetadataInfo(proxy2.java)
	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.doGetMetadataInfo(ServiceInstancesChangedListener.java:338)
	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.getRemoteMetadata(ServiceInstancesChangedListener.java:291)
	at org.apache.dubbo.registry.client.event.listener.ServiceInstancesChangedListener.onEvent(ServiceInstancesChangedListener.java:138)
	at org.apache.dubbo.registry.nacos.NacosServiceDiscovery.handleEvent(NacosServiceDiscovery.java:149)
	at org.apache.dubbo.registry.nacos.NacosServiceDiscovery.lambda$addServiceInstancesChangedListener$4(NacosServiceDiscovery.java:128)
	at com.alibaba.nacos.client.naming.event.InstancesChangeNotifier.onEvent(InstancesChangeNotifier.java:124)
	at com.alibaba.nacos.client.naming.event.InstancesChangeNotifier.onEvent(InstancesChangeNotifier.java:40)
	at com.alibaba.nacos.common.notify.DefaultPublisher.lambda$notifySubscriber$0(DefaultPublisher.java:201)
	at com.alibaba.nacos.common.notify.DefaultPublisher.notifySubscriber(DefaultPublisher.java:208)
	at com.alibaba.nacos.common.notify.DefaultPublisher.receiveEvent(DefaultPublisher.java:192)
	at com.alibaba.nacos.common.notify.DefaultPublisher.openEventHandler(DefaultPublisher.java:118)
	at com.alibaba.nacos.common.notify.DefaultPublisher.run(DefaultPublisher.java:95)
Caused by: java.util.concurrent.ExecutionException: org.apache.dubbo.remoting.RemotingException: Channel NettyChannel [channel=[id: 0xc33d6db0, L:/192.168.31.105:61470 ! R:/192.168.31.105:9211]] is inactive. Directly return the unFinished request : Request [id=1, version=2.0.2, twoway=true, event=false, broken=false, data=RpcInvocation [methodName=getMetadataInfo, parameterTypes=[class java.lang.String], arguments=[null], attachments={group=api-auth, path=org.apache.dubbo.metadata.MetadataService, version=1.0.0}]]
	at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
	at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1928)
	at org.apache.dubbo.rpc.AsyncRpcResult.get(AsyncRpcResult.java:181)
	at org.apache.dubbo.rpc.protocol.AbstractInvoker.waitForResultIfSync(AbstractInvoker.java:272)
	... 27 common frames omitted
Caused by: org.apache.dubbo.remoting.RemotingException: Channel NettyChannel [channel=[id: 0xc33d6db0, L:/192.168.31.105:61470 ! R:/192.168.31.105:9211]] is inactive. Directly return the unFinished request : Request [id=1, version=2.0.2, twoway=true, event=false, broken=false, data=RpcInvocation [methodName=getMetadataInfo, parameterTypes=[class java.lang.String], arguments=[null], attachments={group=api-auth, path=org.apache.dubbo.metadata.MetadataService, version=1.0.0}]]
	at org.apache.dubbo.remoting.exchange.support.DefaultFuture.doReceived(DefaultFuture.java:207)
	at org.apache.dubbo.remoting.exchange.support.DefaultFuture.received(DefaultFuture.java:170)
	at org.apache.dubbo.remoting.exchange.support.DefaultFuture.received(DefaultFuture.java:158)
	at org.apache.dubbo.remoting.exchange.support.DefaultFuture.closeChannel(DefaultFuture.java:151)
	at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.disconnected(HeaderExchangeHandler.java:134)
	at org.apache.dubbo.remoting.transport.AbstractChannelHandlerDelegate.disconnected(AbstractChannelHandlerDelegate.java:48)
	at org.apache.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:73)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.dubbo.common.threadlocal.InternalRunnable.run(InternalRunnable.java:41)
	at java.lang.Thread.run(Thread.java:748)
13:36:36.261 [nacos.publisher-com.alibaba.nacos.client.naming.event.InstancesChangeEvent] ERROR o.a.d.r.c.e.l.ServiceInstancesChangedListener - [getRemoteMetadata,297] -  [DUBBO] Failed to get MetadataInfo for instance 192.168.31.105:9211?revision=null&cluster=null, wait for retry., dubbo version: 3.0.2.1, current host: 192.168.31.105
13:36:37.266 [DubboClientHandler-thread-1] ERROR o.a.d.r.e.s.h.HeaderExchangeHandler - [received,185] -  [DUBBO] Dubbo client can not supported string message: HTTP/1.1 400 
Content-Type: text/html;charset=utf-8
Content-Language: en
Content-Length: 435
Date: Mon, 13 Sep 2021 05:36:37 GMT
Connection: close

Contributor guide