Skip to content

[@grpc/grpc-reflection] lost dependency info #3034

@hxzhao527

Description

@hxzhao527

Problem description

The current implementation of reflection lacks necessary information, causing debugging tools to not work properly.

reproduce steps

  1. simple grpc-js server, e.g. https://github.com/parrotkesha/grpc-bug-yaak
  2. use grpcurl to debug server
$grpcurl -plaintext localhost:8888 describe integration.JobService
Failed to resolve symbol "integration.JobService": proto: message field "integration.JobResponse.data" cannot resolve type: "*.google.protobuf.Struct" not found

Environment

  • OS name, version and architecture: Linux archlinux 6.17.9-arch1-1 x86_64 GNU/Linux
  • Node version : v25.2.1
  • Node installation method : system package manager pacman
  • If applicable, compiler version [e.g. clang 3.8.0-2ubuntu4]
  • Package name and version
    "@grpc/grpc-js": "^1.14.3",
     "@grpc/proto-loader": "^0.8.0",
     "@grpc/reflection": "^1.0.4",
    

reason

Debugging tools need to obtain dependencies between FileDescriptorResponse through the reflection interface to resolve symbols.

reference

  1. GRPC Server Reflection Protocol
  2. google/protobuf/descriptor.proto

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions