{"record":{"id":"e9cfb18b24bca7e7","repo":"juicedata/juicefs","slug":"unsupported-driver-s","errorCode":null,"errorMessage":"unsupported driver %s","messagePattern":"unsupported driver (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/meta/tkv.go","lineNumber":110,"sourceCode":"\t\treturn true\n\t})\n}\n\ntype kvMeta struct {\n\t*baseMeta\n\tclient tkvClient\n\tsnap   map[Ino]*DumpedEntry\n}\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}","sourceCodeStart":92,"sourceCodeEnd":128,"githubUrl":"https://github.com/juicedata/juicefs/blob/c9a67b23e8e08ec23ec331aa6f1675e2319e921c/pkg/meta/tkv.go#L92-L128","documentation":"newTkvClient looked up the driver name in the package-level drivers registry and found no matching constructor. This is a configuration validation error: the engine string (e.g., tikv, etcd, badger, fdb) is misspelled, unregistered, or the build was compiled without that backend's tags.","triggerScenarios":"Thrown at pkg/meta/tkv.go:110 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the driver name spelling in the metadata URL","Use a build that includes the engine (e.g. make juicefs.fdb for FoundationDB)"],"exampleFix":null,"handlingStrategy":"validation","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-14T05:17:10.506Z"}