{"record":{"id":"faf1847088d105d6","repo":"juicedata/juicefs","slug":"invalid-file-size-d-data-length-d","errorCode":null,"errorMessage":"invalid file size %d, data length %d","messagePattern":"invalid file size (.+?), data length (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/chunk/disk_cache_file.go","lineNumber":168,"sourceCode":"\t}\n\treturn buf.Bytes()\n}\n\nfunc openCacheFile(name string, length int, level string) (*cacheFile, error) {\n\tfp, err := os.Open(name)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\tfi, err := fp.Stat()\n\tif err != nil {\n\t\t_ = fp.Close()\n\t\treturn nil, err\n\t}\n\tchecksumLength := int64(((length-1)/csBlock + 1) * 4)\n\textra := fi.Size() - int64(length)\n\tif extra < 0 {\n\t\t_ = fp.Close()\n\t\treturn nil, fmt.Errorf(\"invalid file size %d, data length %d\", fi.Size(), length)\n\t}\n\tfooterOff := int64(0)\n\tswitch {\n\tcase extra == 0:\n\t\tlevel = CsNone // data only, no footer\n\tcase extra%4 == 0:\n\t\tswitch {\n\t\tcase extra == checksumLength:\n\t\tcase extra > checksumLength:\n\t\t\tfooterOff = int64(length) + checksumLength\n\t\tdefault:\n\t\t\t_ = fp.Close()\n\t\t\treturn nil, fmt.Errorf(\"invalid file size %d, data length %d, checksum length %d\", fi.Size(), length, checksumLength)\n\t\t}\n\tdefault:\n\t\tlevel = CsNone\n\t\tfooterOff = int64(length)\n\t}","sourceCodeStart":150,"sourceCodeEnd":186,"githubUrl":"https://github.com/juicedata/juicefs/blob/c9a67b23e8e08ec23ec331aa6f1675e2319e921c/pkg/chunk/disk_cache_file.go#L150-L186","documentation":"Returned by openCacheFile when the cache file on disk is smaller than the data length it claims to hold (negative extra bytes). The file is truncated or corrupt and cannot serve as a valid cache entry.","triggerScenarios":"Thrown at pkg/chunk/disk_cache_file.go:168 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Delete the truncated cache file so the block is re-cached","Check cache disk health and free space"],"exampleFix":null,"handlingStrategy":"fallback","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"}