{"record":{"id":"7dbfd2688eb415e7","repo":"redis/go-redis","slug":"redis-unexpected-exec-reply-q","errorCode":null,"errorMessage":"redis: unexpected EXEC reply %q","messagePattern":"redis: unexpected EXEC reply %q","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"osscluster.go","lineNumber":2757,"sourceCode":"\t\tcmd.SetErr(err)\n\t\tif firstFatal == nil {\n\t\t\tfirstFatal = err\n\t\t}\n\t}\n\n\t// EXEC reply. ReadLine parses error lines into typed errors, so a non-nil\n\t// err means EXEC returned an error rather than the result array.\n\tc.txProcessPush(ctx, node, cn, rd)\n\tline, err := rd.ReadLine()\n\tif err != nil {\n\t\tif !isRedisError(err) {\n\t\t\treturn c.txReadFatal(err) // IO error\n\t\t}\n\t\treturn c.classifyExecError(err, firstRedirect, firstFatal)\n\t}\n\n\tif line[0] != proto.RespArray {\n\t\terr := fmt.Errorf(\"redis: unexpected EXEC reply %q\", line)\n\t\tsetCmdsErr(cmds, err)\n\t\t// A non-array aggregate reply may carry an unread payload.\n\t\treturn &txOutcome{kind: txFatal, err: err, unreadReplies: true}\n\t}\n\n\t// Success: read the N command results.\n\tif err := node.Client.pipelineReadCmds(ctx, cn, rd, cmds); err != nil && !isRedisError(err) {\n\t\treturn c.txReadFatal(err) // IO error mid-results\n\t}\n\treturn &txOutcome{kind: txSuccess}\n}\n\nfunc (c *ClusterClient) txProcessPush(ctx context.Context, node *clusterNode, cn *pool.Conn, rd *proto.Reader) {\n\tif err := node.Client.processPendingPushNotificationWithReader(ctx, cn, rd); err != nil {\n\t\tinternal.Logger.Printf(ctx, \"push: error processing pending notifications before reading reply: %v\", err)\n\t}\n}\n","sourceCodeStart":2739,"sourceCodeEnd":2775,"githubUrl":"https://github.com/redis/go-redis/blob/c5cad058c72f58370553b48566302303cf8a2e89/osscluster.go#L2739-L2775","documentation":"Error \"redis: unexpected EXEC reply %q\" thrown in redis/go-redis.","triggerScenarios":"Thrown at osscluster.go:2757 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"}