{"record":{"id":"96151a89de334c48","repo":"redis/go-redis","slug":"redis-tx-pipeline-produced-no-outcome","errorCode":null,"errorMessage":"redis: tx pipeline produced no outcome","messagePattern":"redis: tx pipeline produced no outcome","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"osscluster.go","lineNumber":2636,"sourceCode":"\t\t\t// Connection acquisition failed — fn never ran.\n\t\t\tif shouldRetry(err, true) && !cmdsContainNoRetry(cmds) {\n\t\t\t\toutcome = &txOutcome{kind: txRetryConn, err: err}\n\t\t\t} else {\n\t\t\t\toutcome = &txOutcome{kind: txFatal, err: err}\n\t\t\t}\n\t\t}\n\t\treturn err\n\t})\n\n\tif !executed && chainErr != nil {\n\t\t// A node-level hook aborted with an error: surface its verdict. A hook\n\t\t// that returned nil short-circuited successfully (it served the batch),\n\t\t// which is legal for plain pipelines too, so it is not turned into a\n\t\t// fatal outcome (review finding by codex on #3942).\n\t\toutcome = &txOutcome{kind: txFatal, err: chainErr}\n\t}\n\tif outcome == nil {\n\t\toutcome = &txOutcome{kind: txFatal, err: fmt.Errorf(\"redis: tx pipeline produced no outcome\")}\n\t}\n\treturn outcome\n}\n\nfunc (c *ClusterClient) processTxPipelineNodeConn(\n\tctx context.Context, node *clusterNode, cn *pool.Conn, wire []Cmder, cmds []Cmder, asking bool,\n) *txOutcome {\n\t// HIMPORT bookkeeping: pending discards and PREPAREs for registered\n\t// fieldsets the transaction references get written ahead of the wire\n\t// batch (before ASKING/MULTI; the session state is visible at EXEC).\n\tinjected := node.Client.himportInjectedCmds(ctx, cn, cmds)\n\n\tif err := cn.WithWriter(c.context(ctx), c.opt.WriteTimeout, func(wr *proto.Writer) error {\n\t\tfor _, ic := range injected {\n\t\t\tif err := writeCmd(wr, ic); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\t\t}","sourceCodeStart":2618,"sourceCodeEnd":2654,"githubUrl":"https://github.com/redis/go-redis/blob/c5cad058c72f58370553b48566302303cf8a2e89/osscluster.go#L2618-L2654","documentation":"Error \"redis: tx pipeline produced no outcome\" thrown in redis/go-redis.","triggerScenarios":"Thrown at osscluster.go:2636 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"c5cad058c72f58370553b48566302303cf8a2e89","analyzedAt":"2026-09-01T06:50:53.388Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}