{"id":"56c2dddd01bcdee6","repo":"go-redis/redis","slug":"redis-failed-to-create-connection-pool-w-56c2dd","errorCode":null,"errorMessage":"redis: failed to create connection pool: %w","messagePattern":"redis: failed to create connection pool: %w","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"sentinel.go","lineNumber":584,"sourceCode":"\t\t\tonClose:  &onCloseHooks{},\n\t\t\thimport:  newHImportRegistry(),\n\t\t},\n\t}\n\trdb.init()\n\n\t// Initialize push notification processor using shared helper\n\t// Use void processor by default for RESP2 connections\n\trdb.pushProcessor = initializePushProcessor(opt)\n\n\t// Generate unique pool names for metrics\n\tuniqueID := generateUniqueID()\n\tmainPoolName := opt.Addr + \"_\" + uniqueID\n\tpubsubPoolName := opt.Addr + \"_\" + uniqueID + \"_pubsub\"\n\n\tvar err error\n\trdb.connPool, err = newConnPool(opt, rdb.dialHook, mainPoolName)\n\tif err != nil {\n\t\tpanic(fmt.Errorf(\"redis: failed to create connection pool: %w\", err))\n\t}\n\trdb.pubSubPool, err = newPubSubPool(opt, rdb.dialHook, pubsubPoolName)\n\tif err != nil {\n\t\tpanic(fmt.Errorf(\"redis: failed to create pubsub pool: %w\", err))\n\t}\n\n\t// Optionally create a separate connection pool for pipelining, with its own\n\t// (typically larger) buffers. Enabled when either pipeline buffer size is set.\n\tif opt.PipelineReadBufferSize > 0 || opt.PipelineWriteBufferSize > 0 {\n\t\tpipelineOpt := opt.clone()\n\t\tif opt.PipelineReadBufferSize > 0 {\n\t\t\tpipelineOpt.ReadBufferSize = opt.PipelineReadBufferSize\n\t\t\t// Same clamp Options.init applies to the main pool: RESP3 push\n\t\t\t// parsing needs a minimum read buffer, and a tiny pipeline reader\n\t\t\t// would break push-notification handling on pipeline conns.\n\t\t\tif pipelineOpt.Protocol == 3 && pipelineOpt.ReadBufferSize < proto.MinRESP3ReadBufferSize {\n\t\t\t\tpipelineOpt.ReadBufferSize = proto.MinRESP3ReadBufferSize\n\t\t\t}","sourceCodeStart":566,"sourceCodeEnd":602,"githubUrl":"https://github.com/go-redis/redis/blob/36d97525cd8076aed67cddf54778e9ea84550929/sentinel.go#L566-L602","documentation":"Error \"redis: failed to create connection pool: %w\" thrown in go-redis/redis.","triggerScenarios":"Thrown at sentinel.go:584 when the library encounters an invalid state.","commonSituations":"Validate pool-related options before client construction.","solutions":["Inspect the wrapped error (options validation, pool config) for the root cause","Verify PoolSize/PoolTimeout and dial settings in FailoverOptions"],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"36d97525cd8076aed67cddf54778e9ea84550929","analyzedAt":"2026-08-06T01:08:27.376Z","schemaVersion":2}