# rpc error: code = Unavailable desc = name resolver error: produced zero addresses

- **ID:** `go/grpc-load-balancer-no-backends`
- **Domain:** go
- **Category:** network_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

The gRPC load balancer resolver returned no backend addresses, often due to DNS failure or service discovery issues.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| 1.3 | active | — | — |

## Workarounds

1. **Verify DNS resolution for the target hostname.** (90% success)
   ```
   nslookup my-service.default.svc.cluster.local
   ```
2. **Use a custom resolver with fallback addresses.** (85% success)
   ```
   resolver := manual.NewBuilderWithScheme("myresolver")
resolver.InitialState(resolver.State{Addresses: []resolver.Address{{Addr: "10.0.0.1:50051"}}})
conn, _ := grpc.Dial("myresolver:///service", grpc.WithResolvers(resolver))
   ```

## Dead Ends

- **Hardcode a single backend address in the client.** — Bypasses load balancing and defeats purpose. (70% fail)
- **Increase DNS cache TTL.** — Does not fix missing A records. (90% fail)
