{"record":{"id":"11f29da115f2e869","repo":"juicedata/juicefs","slug":"connect-to-addr-s-s","errorCode":null,"errorMessage":"connect to addr %s: %s","messagePattern":"connect to addr (.+?): (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/meta/tkv.go","lineNumber":118,"sourceCode":"}\n\nvar _ Meta = (*kvMeta)(nil)\nvar _ engine = (*kvMeta)(nil)\n\nvar drivers = make(map[string]func(string) (tkvClient, error))\n\nfunc newTkvClient(driver, addr string) (tkvClient, error) {\n\tfn, ok := drivers[driver]\n\tif !ok {\n\t\treturn nil, fmt.Errorf(\"unsupported driver %s\", driver)\n\t}\n\treturn fn(addr)\n}\n\nfunc newKVMeta(driver, addr string, conf *Config) (Meta, error) {\n\tclient, err := newTkvClient(driver, addr)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"connect to addr %s: %s\", addr, err)\n\t}\n\t// TODO: ping server and check latency > Millisecond\n\t// logger.Warnf(\"The latency to database is too high: %s\", time.Since(start))\n\tm := &kvMeta{\n\t\tbaseMeta: newBaseMeta(addr, conf),\n\t\tclient:   client,\n\t}\n\tm.en = m\n\treturn m, nil\n}\n\nfunc (m *kvMeta) Shutdown() error {\n\tm.of.close()\n\treturn m.client.close()\n}\n\nfunc (m *kvMeta) Name() string {\n\treturn m.client.name()","sourceCodeStart":100,"sourceCodeEnd":136,"githubUrl":"https://github.com/juicedata/juicefs/blob/c9a67b23e8e08ec23ec331aa6f1675e2319e921c/pkg/meta/tkv.go#L100-L136","documentation":"Returned by newKVMeta when creating the underlying KV client fails; it wraps the driver-specific connection error (bad address, unreachable cluster, TLS problems) so the caller sees which address failed to connect.","triggerScenarios":"Thrown at pkg/meta/tkv.go:118 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the KV cluster endpoints are reachable and credentials are correct","Check TLS/CA configuration if the cluster uses encrypted connections"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"c9a67b23e8e08ec23ec331aa6f1675e2319e921c","analyzedAt":"2026-09-06T17:55:48.476Z","contentChangedAt":"2026-09-06T17:55:48.476Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}