redis/go-redis · error
failed to create credentials listener: %w
Error message
failed to create credentials listener: %w
What it means
Error "failed to create credentials listener: %w" thrown in redis/go-redis.
Source
Thrown at redis.go:857
// and to guard the user-visible OnConnect callback below.
conn.baseClient.cscActive = c.cscActive
// This internal conn's init pipeline issues CLIENT TRACKING ON itself;
// exempt it from the guard that blocks user-issued CLIENT TRACKING. Setting
// the field after newConn is safe: initHooks bound the pipeline hook as a
// method value on the addressable baseClient, so the guard reads the
// updated field.
conn.baseClient.allowClientTracking = true
username, password := "", ""
if c.opt.StreamingCredentialsProvider != nil {
credListener, initErr := c.streamingCredentialsManager.Listener(
cn,
c.reAuthConnection(),
c.onAuthenticationErr(),
)
if initErr != nil {
cn.GetStateMachine().Transition(pool.StateClosed)
return fmt.Errorf("failed to create credentials listener: %w", initErr)
}
credentials, unsubscribeFromCredentialsProvider, initErr := c.opt.StreamingCredentialsProvider.
Subscribe(credListener)
if initErr != nil {
cn.GetStateMachine().Transition(pool.StateClosed)
return fmt.Errorf("failed to subscribe to streaming credentials: %w", initErr)
}
// Per-connection unsubscribe is attached to the connection itself so it
// runs when this specific connection is closed. Do not register it on
// c.onClose: initConn runs for every (re)initialized connection, and
// attaching per-connection state to the shared baseClient registry would
// either leak entries (one per connection id, never trimmed) or — with
// the pre-fix wrappedOnClose approach — build an unbounded closure chain
// retaining every prior connection's unsubscribe (see issue #3772).
//
// Note: pool.Conn.SetOnClose OVERWRITES any prior callback (see theView on GitHub (pinned to c5cad058c7)
When it happens
Trigger: Thrown at redis.go:857 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of redis/go-redis@c5cad058c7 (2026-09-01).
Data as JSON: /api/errors/74d320ce94dd8053.
Report an issue: GitHub.