temporalio/temporal · error
failed to extract port from frontend member: %w
Error message
failed to extract port from frontend member: %w
What it means
Error "failed to extract port from frontend member: %w" thrown in temporalio/temporal.
Source
Thrown at common/rpc/rpc.go:491
type roundTripper struct {
resolver membership.ServiceResolver
underlying http.RoundTripper
httpPort int
}
func (rt *roundTripper) RoundTrip(req *http.Request) (*http.Response, error) {
// Pick a frontend host at random.
members := rt.resolver.AvailableMembers()
if len(members) == 0 {
return nil, serviceerror.NewUnavailable("no frontend host to route request to")
}
idx := rand.Intn(len(members))
member := members[idx]
// Replace port with the HTTP port.
host, _, err := net.SplitHostPort(member.Identity())
if err != nil {
return nil, fmt.Errorf("failed to extract port from frontend member: %w", err)
}
address := fmt.Sprintf("%s:%d", host, rt.httpPort)
// Replace request's host.
req.URL.Host = address
req.Host = address
return rt.underlying.RoundTrip(req)
}
// serviceResolverFromGRPCURL returns a ServiceResolver if ustr corresponds to a
// membership url, otherwise nil.
func serviceResolverFromGRPCURL(ustr string) membership.ServiceResolver {
u, err := url.Parse(ustr)
if err != nil {
return nil
}
res, err := membership.GetServiceResolverFromURL(u)
if err != nil {View on GitHub (pinned to bde624efd1)
When it happens
Trigger: Thrown at common/rpc/rpc.go:491 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of temporalio/temporal@bde624efd1 (2026-09-01).
Data as JSON: /api/errors/a3ecea24dab23323.
Report an issue: GitHub.