{"record":{"id":"e73cfa577489efb2","repo":"JuliusBrussee/caveman","slug":"cachebench-invalid-target","errorCode":null,"errorMessage":"cachebench: invalid target","messagePattern":"cachebench: invalid target","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cacheengine/cachebench/simulate.go","lineNumber":379,"sourceCode":"\nfunc commonPrefixTokens(left, right []PrefixSegment) int {\n\tlimit := len(left)\n\tif len(right) < limit {\n\t\tlimit = len(right)\n\t}\n\ttotal := 0\n\tfor index := 0; index < limit; index++ {\n\t\tif left[index] != right[index] {\n\t\t\tbreak\n\t\t}\n\t\ttotal += left[index].Tokens\n\t}\n\treturn total\n}\n\nfunc validateTarget(target Target) error {\n\tif math.IsNaN(target.RequestHitRate) || math.IsInf(target.RequestHitRate, 0) || math.IsNaN(target.TokenHitRate) || math.IsInf(target.TokenHitRate, 0) || target.RequestHitRate < 0 || target.RequestHitRate > 1 || target.TokenHitRate < 0 || target.TokenHitRate > 1 || target.MinEligibleRequest <= 0 || target.MinEligibleRequest > 1_000_000 {\n\t\treturn errors.New(\"cachebench: invalid target\")\n\t}\n\treturn nil\n}\n\nfunc finalizeProvider(report *ProviderReport, target Target) {\n\tif report.EligibleRequests > 0 {\n\t\treport.RequestHitRate = float64(report.RequestHits) / float64(report.EligibleRequests)\n\t}\n\tif report.EligibleTokens > 0 {\n\t\treport.TokenHitRate = float64(report.CacheReadTokens) / float64(report.EligibleTokens)\n\t\treport.AttributedTokenHitRate = float64(report.AttributedReadTokens) / float64(report.EligibleTokens)\n\t}\n\tif report.ReusableOpportunityRequests > 0 {\n\t\treport.OpportunityRequestCaptureRate = float64(report.RequestHits) / float64(report.ReusableOpportunityRequests)\n\t}\n\tif report.ReusableOpportunityTokens > 0 {\n\t\treport.OpportunityTokenCaptureRate = float64(report.CacheReadTokens) / float64(report.ReusableOpportunityTokens)\n\t}","sourceCodeStart":361,"sourceCodeEnd":397,"githubUrl":"https://github.com/JuliusBrussee/caveman/blob/27d5a3981a347890211bb1bf2439e5c821a63bc9/cacheengine/cachebench/simulate.go#L361-L397","documentation":"Error \"cachebench: invalid target\" thrown in JuliusBrussee/caveman.","triggerScenarios":"Thrown at cacheengine/cachebench/simulate.go:379 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the simulation target to a valid value."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"27d5a3981a347890211bb1bf2439e5c821a63bc9","analyzedAt":"2026-08-15T09:26:11.751Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}