Prev Next

Database / REDIS

What happens when a Redis master fails in a Sentinel-managed setup?

Sentinel's failover process follows a defined sequence rather than reacting instantly to any single missed check, specifically to avoid triggering an unnecessary failover from a brief, isolated network blip.

flowchart TD A[Sentinel loses contact with master] --> B[Master marked SDOWN, subjectively down, by that one Sentinel] B --> C[Sentinel asks other Sentinels for their view of the master] C --> D{Quorum of Sentinels agree master is down?} D -- No --> E[No failover; likely a local network issue for one Sentinel] D -- Yes --> F[Master marked ODOWN, objectively down] F --> G[Sentinels elect a leader Sentinel to run the failover] G --> H[Leader Sentinel selects the best-positioned replica, e.g. most up-to-date] H --> I[Selected replica promoted to master via REPLICAOF NO ONE] I --> J[Other replicas reconfigured to replicate from the new master] J --> K[Sentinels update their config and notify connected clients of the new master]

Clients using a Sentinel-aware library discover the new master by asking Sentinel for the current address rather than hardcoding a fixed host, which is what lets an application keep working through a failover without a manual configuration change. Any writes made to the old master that hadn't yet replicated to the promoted replica at the moment of failure are lost, since Sentinel can't recover data the new master never received.

Why does Sentinel require quorum agreement before declaring a master objectively down (ODOWN)?
What data can be lost during a Sentinel-managed failover?

More Related questions...

What is Redis? What is a Redis key? What is the purpose of the EXPIRE command? List few Redis Datatypes. What is a Redis Sorted Set? Advantages of Redis. What programming languages does Redis support? What is a Redis Hash used for? What is a Redis Set data type used for? Explain Replication in Redis. What is the purpose of the INCR command? Explain about REDIS security. What is a Redis Stream? Expand REDIS. Define a Redis Bitmap? In which language Redis is developed? What is the purpose of Redis Pub/Sub? Difference between SET and MSET command in REDIS. What are Redis transactions? Explain LPUSH command in REDIS. What is RDB persistence in Redis? Limitations of REDIS. What is AOF persistence in Redis? REDIS is fast, but is it also durable? Difference between Memcached and REDIS. What is the purpose of the SELECT command in Redis? What is the purpose of the TTL command? What is SADD command in REDIS? Define eviction policies in Redis? Mention few LIST operations in REDIS. What is Redis Sentinel used for? Mention Spring Boot Drivers for REDIS. Explain about redisson client for redis. What is Redis Cluster? How do you connect to Redis using the CLI? Why is Redis often faster than a traditional relational database for caching? What is a Cache Penetration Problem? What is Valkey, and how does it relate to Redis? How I/O Multiplexing Works in Redis? What is the difference between RDB and AOF persistence? How does Redis achieve high throughput with a mostly single-threaded design? Why should you configure an eviction policy for a Redis instance used as a cache? How does Redis Cluster shard data across nodes? When should you use Redis Sentinel instead of Redis Cluster? What happens when a Redis master fails in a Sentinel-managed setup? Explain the execution flow of a Redis transaction using MULTI/EXEC? How can you optimize Redis memory usage for large datasets? How do you troubleshoot high memory usage in a Redis instance? Why is the maxmemory-policy setting important for a cache-only Redis deployment? Explain the lifecycle of a key with a TTL set in Redis? How does Redis handle atomicity for multi-key operations? What is the difference between a Redis List and Sorted Set for queues? How do you implement a distributed lock using Redis? How does Redis Streams support consumer groups? Which is better and why: Redis Pub/Sub or Redis Streams for event delivery? How do you integrate Redis as a session store in a web application? Explain the internal working of Redis's hash table resizing (rehashing)? How do you configure Redis persistence for a production deployment? What is the difference between Redis Cluster and client-side sharding? How does Redis support Lua scripting for atomic operations? When would you choose Redis Streams over a message broker like Kafka? How do you secure Redis access using ACLs? Why should the KEYS command be avoided in production? How do you configure Redis for cache-aside pattern usage? Explain the execution flow of a Redis Cluster request with a MOVED redirection? How does Redis handle replication lag between a master and its replicas? Why doesn't Redis guarantee strong consistency by default across replicas? How do you mitigate a Cache Avalanche in a Redis-backed system? What is the difference between Redis's diskless replication and disk-based replication?
Show more question and Answers...

Apache Cassandra Interview Questions

Comments & Discussions