Skip to content

Type error when creating grpc client with RoundRobin load balancing policy #221

@aldelucca1

Description

@aldelucca1

We are seeing the following TypeError when using @authzed/authzed-node v1.3.1 with @grpc/grpc-js v1.13.3:

TypeError: Cannot read properties of undefined (reading 'generateMetadata')
    at LoadBalancingCall.doPick (/app/node_modules/.pnpm/@grpc+grpc-js@1.13.3/node_modules/@grpc/grpc-js/build/src/load-balancing-call.js:131:22)
    at Object.updateState (/app/node_modules/.pnpm/@grpc+grpc-js@1.13.3/node_modules/@grpc/grpc-js/build/src/internal-channel.js:224:26)
    at ResolvingLoadBalancer.updateState (/app/node_modules/.pnpm/@grpc+grpc-js@1.13.3/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js:273:35)
    at Object.updateState (/app/node_modules/.pnpm/@grpc+grpc-js@1.13.3/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js:177:22)
    at ChildLoadBalancerHandler.ChildPolicyHelper.updateState (/app/node_modules/.pnpm/@grpc+grpc-js@1.13.3/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.js:50:50)
    at RoundRobinLoadBalancer.updateState (/app/node_modules/.pnpm/@grpc+grpc-js@1.13.3/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.js:147:35)
    at RoundRobinLoadBalancer.calculateAndUpdateState (/app/node_modules/.pnpm/@grpc+grpc-js@1.13.3/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.js:109:18)
    at Object.updateState (/app/node_modules/.pnpm/@grpc+grpc-js@1.13.3/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.js:87:22)
    at Object.updateState (/app/node_modules/.pnpm/@grpc+grpc-js@1.13.3/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.js:456:38)
    at PickFirstLoadBalancer.updateState (/app/node_modules/.pnpm/@grpc+grpc-js@1.13.3/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.js:351:35)

Our client is configured with the following options:

    options = {
      'grpc.service_config': JSON.stringify({
        loadBalancingConfig: [{ round_robin: {} }],
      }),
      ...options,
    };

Our configuration was working when using @authzed/authzed-node v1.2.3 with @grpc/grpc-js v1.12.5

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions