{"record":{"id":"87f424e20ae4c57a","repo":"juicedata/juicefs","slug":"invalid-redisversion-v","errorCode":null,"errorMessage":"invalid redisVersion: %v","messagePattern":"invalid redisVersion: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/meta/info.go","lineNumber":35,"sourceCode":"package meta\n\nimport (\n\t\"fmt\"\n\t\"strconv\"\n\t\"strings\"\n)\n\ntype redisVersion struct {\n\tver          string\n\tmajor, minor int\n}\n\nvar oldestSupportedVer = redisVersion{\"4.0.x\", 4, 0}\n\nfunc parseRedisVersion(v string) (ver redisVersion, err error) {\n\tparts := strings.Split(v, \".\")\n\tif len(parts) < 2 {\n\t\terr = fmt.Errorf(\"invalid redisVersion: %v\", v)\n\t\treturn\n\t}\n\tver.ver = v\n\tver.major, err = strconv.Atoi(parts[0])\n\tif err != nil {\n\t\treturn\n\t}\n\tver.minor, err = strconv.Atoi(parts[1])\n\treturn\n}\n\nfunc (ver redisVersion) olderThan(v2 redisVersion) bool {\n\tif ver.major < v2.major {\n\t\treturn true\n\t}\n\tif ver.major > v2.major {\n\t\treturn false\n\t}","sourceCodeStart":17,"sourceCodeEnd":53,"githubUrl":"https://github.com/juicedata/juicefs/blob/c9a67b23e8e08ec23ec331aa6f1675e2319e921c/pkg/meta/info.go#L17-L53","documentation":"parseRedisVersion cannot parse the reported Redis server version string: it must contain at least two dot-separated components (major.minor). JuiceFS parses the version to enforce minimum supported Redis versions; an unparseable string triggers this error.","triggerScenarios":"checkRedisInfo (via the INFO command) receives a version string like \"7\" or \"devel-xyz\" or an empty/garbage value that has fewer than 2 dot-separated parts.","commonSituations":"Pointing JuiceFS at a Redis-compatible server (e.g. a proxy, KeyDB fork, or mock) that reports a non-standard version; a proxy that hides or rewrites the `redis_version` INFO field; an unsupported/patched Redis build.","solutions":["Connect directly to a real Redis instance that reports a standard x.y.z version instead of through a proxy.","Check `redis-cli INFO server | grep redis_version` and confirm it returns something like `7.2.4`; fix server/proxy config if not.","Upgrade the Redis server if it is genuinely old (below 4.0) or misreporting its version."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"redis-cli -u \"$META_URL\" INFO server | grep redis_version  # must be like 7.2.4","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Use real Redis (>= 4.0) rather than proxies or minimal mock servers.","Confirm the reported redis_version before formatting/mounting.","Avoid Redis-compatible servers that rewrite the INFO version field."],"tags":["redis","version-check","parsing"],"backgroundTag":"invalid-config-value","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"}