go-redis/redis · error
redis: failed to create pubsub pool: %w
Error message
redis: failed to create pubsub pool: %w
What it means
Error "redis: failed to create pubsub pool: %w" thrown in go-redis/redis.
Source
Thrown at sentinel.go:588
rdb.init()
// Initialize push notification processor using shared helper
// Use void processor by default for RESP2 connections
rdb.pushProcessor = initializePushProcessor(opt)
// Generate unique pool names for metrics
uniqueID := generateUniqueID()
mainPoolName := opt.Addr + "_" + uniqueID
pubsubPoolName := opt.Addr + "_" + uniqueID + "_pubsub"
var err error
rdb.connPool, err = newConnPool(opt, rdb.dialHook, mainPoolName)
if err != nil {
panic(fmt.Errorf("redis: failed to create connection pool: %w", err))
}
rdb.pubSubPool, err = newPubSubPool(opt, rdb.dialHook, pubsubPoolName)
if err != nil {
panic(fmt.Errorf("redis: failed to create pubsub pool: %w", err))
}
// Optionally create a separate connection pool for pipelining, with its own
// (typically larger) buffers. Enabled when either pipeline buffer size is set.
if opt.PipelineReadBufferSize > 0 || opt.PipelineWriteBufferSize > 0 {
pipelineOpt := opt.clone()
if opt.PipelineReadBufferSize > 0 {
pipelineOpt.ReadBufferSize = opt.PipelineReadBufferSize
// Same clamp Options.init applies to the main pool: RESP3 push
// parsing needs a minimum read buffer, and a tiny pipeline reader
// would break push-notification handling on pipeline conns.
if pipelineOpt.Protocol == 3 && pipelineOpt.ReadBufferSize < proto.MinRESP3ReadBufferSize {
pipelineOpt.ReadBufferSize = proto.MinRESP3ReadBufferSize
}
}
if opt.PipelineWriteBufferSize > 0 {
pipelineOpt.WriteBufferSize = opt.PipelineWriteBufferSize
}View on GitHub (pinned to 36d97525cd)
Solutions
- Check the wrapped error for the pubsub pool creation failure
- Verify sentinel connectivity and pubsub-related pool settings
When it happens
Trigger: Thrown at sentinel.go:588 when the library encounters an invalid state.
Common situations: Test sentinel reachability before constructing failover clients.
AI-assisted analysis of go-redis/redis@36d97525cd (2026-08-06).
Data as JSON: /data/errors/52672ac381ea0f7c.json.
Report an issue: GitHub.