Skip to content

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

@wangdechong

Description

@wangdechong

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

image

[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

image

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedEverything needs help from contributors

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions