0

Setup: I have three machines with co-located Sentinel/Redis, exactly as in example-2, configured with sentinel auth-pass, masterauth, requirepass. -- failover, read/write -- all works.

Requirement: I want to add in a Redis slave (4th instance of Redis) that does not require auth, but replicates from the main cluster.

Issue: I setup exactly as in the uncommon case where you need a slave that is accessible without authentication, ie, Master >> Slave,replica-priority 0. When using redis-py client, I ask Sentinel for a slave to read from and this no-auth-slave is chosen, i receive error: Client sent AUTH, but no password is set and connection is aborted. I believe the client is just passing back the error from server.

I've Tried:

  • Master >> Slave,replica-priority 0 >> Slave,replica-priority 0. All clients, servers, sync work (because Sentinel doesn't know about this readonly slave) except I get +fix-slave-config entries every 10s in Sentinel log. Not sure if this is concerning??
  • Setup as defined in "the uncommon case..." with Master >> (Slave,replica-priority 0) but client error, and unable to proceed with connection/request.

Questions:

  • Is Master >> Slave >> Slave with Sentinel +fix-slave-config entries ok?
  • Is Client sent AUTH, but no password is set a bug/feature?

I would definitely prefer to have all Redis slaves known by Sentinel for HA though, but doesn't work mixing auth/no-auth.

Redis 5.0.3, redis-py 3.2.0

mushipao
  • 376
  • 5
  • 7

0 Answers0