{"record":{"id":"2f3bb9555c5e51ef","repo":"juicedata/juicefs","slug":"the-downloaded-content-is-incorrect","errorCode":null,"errorMessage":"the downloaded content is incorrect","messagePattern":"the downloaded content is incorrect","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/objbench.go","lineNumber":626,"sourceCode":"\tcheckN := 10\n\tl := len(seed)\n\tif l < checkN {\n\t\tcheckN = l\n\t}\n\n\t// if orgIdx is 0, mockdata is the same as the seed\n\tvar preNMockData []byte\n\tif orgIdx == 0 {\n\t\tpreNMockData = seed[:checkN]\n\t} else {\n\t\tmockResult := pool.Get().(*[]byte)\n\t\tdefer pool.Put(mockResult)\n\t\tpreNMockData = (*mockResult)[:checkN]\n\t\tgetMockData(seed, orgIdx, &preNMockData)\n\t}\n\n\tif n != len(seed) || !bytes.Equal((*content)[:checkN], preNMockData) {\n\t\treturn fmt.Errorf(\"the downloaded content is incorrect\")\n\t}\n\treturn nil\n}\n\nfunc (bm *benchMarkObj) get(ctx context.Context, key string, startKey int) error {\n\treturn getAndCheckN(ctx, bm.blob, key, bm.seed, bm.buffPool, func(idx int) int {\n\t\treturn idx - startKey\n\t})\n}\n\nfunc (bm *benchMarkObj) smallGet(ctx context.Context, key string, startKey int) error {\n\treturn getAndCheckN(ctx, bm.blob, key, bm.smallSeed, bm.smallBuffPool, func(idx int) int {\n\t\treturn idx\n\t})\n}\n\nfunc (bm *benchMarkObj) delete(ctx context.Context, key string, startKey int) error {\n\treturn bm.blob.Delete(ctx, key)","sourceCodeStart":608,"sourceCodeEnd":644,"githubUrl":"https://github.com/juicedata/juicefs/blob/c9a67b23e8e08ec23ec331aa6f1675e2319e921c/cmd/objbench.go#L608-L644","documentation":"Returned by objbench's getAndCheckN verification when the downloaded object does not match the expected generated content: either the length differs or the first checked bytes deviate from the deterministic mock data. It flags data corruption or wrong reads in the benchmark path.","triggerScenarios":"Thrown at cmd/objbench.go:626 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Re-run objbench to see if corruption is reproducible","Inspect the backend for checksum/encryption proxying that could alter object data"],"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"}