apache/dubbo

[Bug] org.apache.dubbo.remoting.http12.exception.HttpStatusException: Invoker for gRPC not found

Open

#15641 opened on Aug 19, 2025

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

Description

Pre-check

  • I am sure that all the content I provide is in English.

Search before asking

  • I had searched in the issues and found no similar issues.

Apache Dubbo Component

Java SDK (apache/dubbo)

Dubbo Version

After starting the consumer, o.a.dubbo.registry.client.metadata.MetadataUtils Failed to get app metadata for revision. the consumer side is triggered when pulling metadata every second, and a consumer-side exception occurs:"UNIMPLEMENTED : Invoker for gRPC not found"; the provider side throws an exception:"Invoker for gRPC not found".

Using version numbers: dubbo-provider: 3.3.5 + springboot:2.7.17 + JDK17 dubbo-consumer: 3.1.11 + springboot:2.7.17 + JDK 17

Server configuration (provider-config):

dubbo: registry: address: nacos://127.0.0.1:8848?username=nacos&password=nacos register-mode: instance protocols: tri: name: tri port: 8080 dubbo: name: dubbo port: 20880

Steps to reproduce this issue

Triple+JAX-RS

[Dubbo provider exception stack]:

[DubboServerHandler-192.168.14.12:8080-thread-190] INFO o.a.d.r.p.tri.h12.AbstractServerTransportListener - traceId: - [DUBBO] An error occurred while processing the http request with GrpcHttp2ServerTransportListener, Http2MetadataFrame{method='POST', path='/org.apache.dubbo.metadata.MetadataService/getMetadataInfo', contentType='application/grpc+proto', streamId=3, endStream=false}, dubbo version: 3.3.5, current host: 192.168.14.12 org.apache.dubbo.remoting.http12.exception.HttpStatusException: Invoker for gRPC not found at org.apache.dubbo.rpc.protocol.tri.h12.grpc.GrpcRequestHandlerMapping.notFound(GrpcRequestHandlerMapping.java:79) at org.apache.dubbo.rpc.protocol.tri.h12.grpc.GrpcRequestHandlerMapping.getRequestHandler(GrpcRequestHandlerMapping.java:64) at org.apache.dubbo.rpc.protocol.tri.route.DefaultRequestRouter.route(DefaultRequestRouter.java:50) at org.apache.dubbo.rpc.protocol.tri.h12.AbstractServerTransportListener.doRoute(AbstractServerTransportListener.java:122) at org.apache.dubbo.rpc.protocol.tri.h12.grpc.GrpcHttp2ServerTransportListener.onPrepareMetadata(GrpcHttp2ServerTransportListener.java:69) at org.apache.dubbo.rpc.protocol.tri.h12.grpc.GrpcHttp2ServerTransportListener.onPrepareMetadata(GrpcHttp2ServerTransportListener.java:49) at org.apache.dubbo.rpc.protocol.tri.h12.AbstractServerTransportListener.lambda$onMetadata$0(AbstractServerTransportListener.java:107) at org.apache.dubbo.common.threadpool.serial.SerializingExecutor.run(SerializingExecutor.java:111) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at org.apache.dubbo.common.threadlocal.InternalRunnable.run(InternalRunnable.java:39) at java.base/java.lang.Thread.run(Thread.java:842)

[Dubbo consumer exception stack]:

[Dubbo-framework-metadata-retry-thread-1] WARN o.a.d.r.c.e.l.ServiceInstancesChangedListener - traceId: - [DUBBO] Received address refresh retry event, 1755588333304, dubbo version: 3.1.11, current host: 192.168.14.12, error code: 99-0. This may be caused by unknown error in registry module, go to https://dubbo.apache.org/faq/99/0 to find instructions. 2025-08-19 15:25:43.306 [Dubbo-framework-metadata-retry-thread-1] WARN o.a.d.r.c.e.l.ServiceInstancesChangedListener - traceId: - [DUBBO] Retrying address notification..., dubbo version: 3.1.11, current host: 192.168.14.12, error code: 99-0. This may be caused by unknown error in registry module, go to https://dubbo.apache.org/faq/99/0 to find instructions. 2025-08-19 15:25:43.306 [Dubbo-framework-metadata-retry-thread-1] WARN o.a.d.r.c.e.l.ServiceInstancesChangedListener - traceId: - [DUBBO] Received address refresh retry event, 1755588333304, dubbo version: 3.1.11, current host: 192.168.14.12, error code: 99-0. This may be caused by unknown error in registry module, go to https://dubbo.apache.org/faq/99/0 to find instructions. 2025-08-19 15:25:43.306 [Dubbo-framework-metadata-retry-thread-1] WARN o.a.d.r.c.e.l.ServiceInstancesChangedListener - traceId: - [DUBBO] Retrying address notification..., dubbo version: 3.1.11, current host: 192.168.14.12, error code: 99-0. This may be caused by unknown error in registry module, go to https://dubbo.apache.org/faq/99/0 to find instructions. 2025-08-19 15:25:43.307 [Dubbo-framework-metadata-retry-thread-1] INFO org.apache.dubbo.rpc.model.ModuleModel - traceId: - [DUBBO] Dynamically registering consumer model uupt-middle-ackdemo-service/org.apache.dubbo.metadata.MetadataService:2.0.0 into model Dubbo Module[1.1.0], dubbo version: 3.1.11, current host: 192.168.14.12 2025-08-19 15:25:43.317 [Dubbo-framework-metadata-retry-thread-1] ERROR o.a.dubbo.registry.client.metadata.MetadataUtils - traceId: - [DUBBO] Failed to get app metadata for revision ac086b2ccffbf5ebef12482977fe76ab for type local from instance 192.168.14.12:20880, dubbo version: 3.1.11, current host: 192.168.14.12, error code: 1-39. This may be caused by , go to https://dubbo.apache.org/faq/1/39 to find instructions. org.apache.dubbo.rpc.StatusRpcException: UNIMPLEMENTED : Invoker for gRPC not found at org.apache.dubbo.rpc.TriRpcStatus.asException(TriRpcStatus.java:214) at org.apache.dubbo.rpc.protocol.tri.call.UnaryClientCallListener.onClose(UnaryClientCallListener.java:47) at org.apache.dubbo.rpc.protocol.tri.call.TripleClientCall.onComplete(TripleClientCall.java:106) at org.apache.dubbo.rpc.protocol.tri.stream.TripleClientStream$ClientTransportListener.finishProcess(TripleClientStream.java:216) at org.apache.dubbo.rpc.protocol.tri.stream.TripleClientStream$ClientTransportListener.onTrailersReceived(TripleClientStream.java:295) at org.apache.dubbo.rpc.protocol.tri.stream.TripleClientStream$ClientTransportListener.lambda$onHeader$1(TripleClientStream.java:398) at org.apache.dubbo.common.threadpool.serial.SerializingExecutor.run(SerializingExecutor.java:102) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at org.apache.dubbo.common.threadlocal.InternalRunnable.run(InternalRunnable.java:41) at java.base/java.lang.Thread.run(Thread.java:842)

What you expected to happen

protocols: tri: name: tri port: 8080 dubbo: name: dubbo port: 20880

The Dubbo 3.3.x version also encounters this exception during interoperation and does not support the multi-port and multi-protocol configuration method. When it is necessary to use Triple + JAX-RS to provide REST services, single-port multi-protocol is not supported.

The Dubbo provider does not expose the interface: org.apache.dubbo.metadata.MetadataService/getMetadataInfo, only /org.apache.dubbo.metadata.MetadataServiceV2/GetMetadataInfo

Anything else

After starting the consumer, o.a.dubbo.registry.client.metadata.MetadataUtils Failed to get app metadata for revision. the consumer side is triggered when pulling metadata every second

Are you willing to submit a pull request to fix on your own?

  • Yes I am willing to submit a pull request on my own!

Code of Conduct

Contributor guide