{"record":{"id":"a3ecea24dab23323","repo":"temporalio/temporal","slug":"failed-to-extract-port-from-frontend-member-w","errorCode":null,"errorMessage":"failed to extract port from frontend member: %w","messagePattern":"failed to extract port from frontend member: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"common/rpc/rpc.go","lineNumber":491,"sourceCode":"type roundTripper struct {\n\tresolver   membership.ServiceResolver\n\tunderlying http.RoundTripper\n\thttpPort   int\n}\n\nfunc (rt *roundTripper) RoundTrip(req *http.Request) (*http.Response, error) {\n\t// Pick a frontend host at random.\n\tmembers := rt.resolver.AvailableMembers()\n\tif len(members) == 0 {\n\t\treturn nil, serviceerror.NewUnavailable(\"no frontend host to route request to\")\n\t}\n\tidx := rand.Intn(len(members))\n\tmember := members[idx]\n\n\t// Replace port with the HTTP port.\n\thost, _, err := net.SplitHostPort(member.Identity())\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to extract port from frontend member: %w\", err)\n\t}\n\taddress := fmt.Sprintf(\"%s:%d\", host, rt.httpPort)\n\n\t// Replace request's host.\n\treq.URL.Host = address\n\treq.Host = address\n\treturn rt.underlying.RoundTrip(req)\n}\n\n// serviceResolverFromGRPCURL returns a ServiceResolver if ustr corresponds to a\n// membership url, otherwise nil.\nfunc serviceResolverFromGRPCURL(ustr string) membership.ServiceResolver {\n\tu, err := url.Parse(ustr)\n\tif err != nil {\n\t\treturn nil\n\t}\n\tres, err := membership.GetServiceResolverFromURL(u)\n\tif err != nil {","sourceCodeStart":473,"sourceCodeEnd":509,"githubUrl":"https://github.com/temporalio/temporal/blob/bde624efd13fbd3843654058db6d9c716166318b/common/rpc/rpc.go#L473-L509","documentation":"Error \"failed to extract port from frontend member: %w\" thrown in temporalio/temporal.","triggerScenarios":"Thrown at common/rpc/rpc.go:491 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"bde624efd13fbd3843654058db6d9c716166318b","analyzedAt":"2026-09-01T07:18:39.080Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}