quarkus: grpc service not working when use-separate-server is set to false and custom http.root-path is set

Describe the bug

When quarkus.grpc.server.use-separate-server=false and quarkus.http.root-path=api/v1 is set, the grpc service is not working. On removing the http root path it works. Is there any specific that needs to be added for the grpc to recognize this custom root path.

Expected behavior

grpc service should be accessible even with custom http root path

Actual behavior

grpc service gives 404 error when accessed

How to Reproduce?

Steps to reproduce

  • Take the grpc plaintext quickstart
  • Add both use-separate-server false and custom http.root-path
  • From Dev UI try to invoke the grpc service

Output of uname -a or ver

No response

Output of java -version

No response

GraalVM version (if different from Java)

No response

Quarkus version or git rev

2.16.7.Final

Build tool (ie. output of mvnw --version or gradlew --version)

No response

Additional information

No response

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 21 (20 by maintainers)

Most upvoted comments

Yes, I think it should be created in this case.

I guess a simple test for this would be to add this quarkus.http.root-path=api/v1 prop and then try to invoke some gRPC service? @SivaM07 @cescoffier ^^

I can have a look later in the evening. And you can then give it a spin with your use case.

On Sun, 25 Jun 2023 at 18:02, Siva_M7 @.***> wrote:

@cescoffier https://github.com/cescoffier @alesj https://github.com/alesj given that we know what and where the fix is, can we get a tentative ETA on when this could be fixed? if you are busy on an another priority item, then I am happy to contribute to this fix if you can point me in the right direction.

— Reply to this email directly, view it on GitHub https://github.com/quarkusio/quarkus/issues/34261#issuecomment-1606143583, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACRA6FCGKOYWGJ47BTGYCTXNBOJLANCNFSM6AAAAAAZQZNMUU . You are receiving this because you were mentioned.Message ID: @.***>

Oh, nice catch.

@alesj when the default http root is changed, you gRPC route is mounted under than new route, which is not right. In this case we need to mount the route or the parent router. Now the question is… do we have access to that parent router?