{"record":{"id":"2957b2bf044df469","repo":"Tencent/WeKnora","slug":"failed-to-build-docreader-dial-options-w","errorCode":null,"errorMessage":"failed to build docreader dial options: %w","messagePattern":"failed to build docreader dial options: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/infrastructure/docparser/grpc_parser.go","lineNumber":53,"sourceCode":"\tclient proto.DocReaderClient\n\taddr   string\n}\n\nfunc NewGRPCDocumentReader(addr string) (*GRPCDocumentReader, error) {\n\tp := &GRPCDocumentReader{}\n\tif addr != \"\" {\n\t\tif err := p.connect(addr); err != nil {\n\t\t\treturn nil, err\n\t\t}\n\t}\n\treturn p, nil\n}\n\nfunc (p *GRPCDocumentReader) connect(addr string) error {\n\tauthConfig := docclient.LoadAuthConfigFromEnv()\n\topts, err := authConfig.BuildDialOptions(getMaxMessageSize())\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to build docreader dial options: %w\", err)\n\t}\n\tif authConfig.TLSEnabled {\n\t\tlogger.Infof(context.Background(), \"TLS enabled for docreader gRPC client\")\n\t}\n\tif authConfig.AuthToken != \"\" {\n\t\tlogger.Infof(context.Background(),\n\t\t\t\"Token authentication enabled for docreader gRPC client (TLS=%v)\",\n\t\t\tauthConfig.TLSEnabled,\n\t\t)\n\t}\n\n\tresolver.SetDefaultScheme(\"dns\")\n\n\tstart := time.Now()\n\tconn, err := grpc.Dial(\"dns:///\"+addr, opts...)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to connect to docreader: %w\", err)\n\t}","sourceCodeStart":35,"sourceCodeEnd":71,"githubUrl":"https://github.com/Tencent/WeKnora/blob/988cbb03305e055d8ebb7d46d9ac6cc0803cd074/internal/infrastructure/docparser/grpc_parser.go#L35-L71","documentation":"GRPCDocumentReader.connect failed to build gRPC dial options from the docreader auth config (docclient.LoadAuthConfigFromEnv), e.g. invalid TLS material or credentials in environment variables. The connection is never attempted.","triggerScenarios":"Thrown at internal/infrastructure/docparser/grpc_parser.go:53 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check docreader auth/TLS environment variables for validity","Verify cert/key paths exist and are readable","Fix the auth config and trigger Reconnect"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"988cbb03305e055d8ebb7d46d9ac6cc0803cd074","analyzedAt":"2026-09-02T14:41:08.344Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}