apache/dubbo

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

Open

#8.791 aberto em 14 de set. de 2021

Ver no GitHub
 (9 comments) (1 reaction) (0 assignees)Java (26.453 forks)batch import
help wanted

Métricas do repositório

Stars
 (41.524 stars)
Métricas de merge de PR
 (Mesclagem média 7d 14h) (20 fundiu PRs em 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

Guia do colaborador