Davide Selvaggio
02/24/2026, 10:43 AMWeny Xu
02/24/2026, 12:11 PMDavide Selvaggio
02/25/2026, 2:43 AMWeny Xu
02/25/2026, 2:51 AMDavide Selvaggio
02/25/2026, 3:02 AMWeny Xu
02/25/2026, 3:12 AMDavide Selvaggio
02/25/2026, 3:35 AMWeny Xu
02/25/2026, 9:13 AMWhen the original leader comes back, what happens then? The new leader has been writing and has its own WAL nowThe original leader will become a follower. After failover, if it returns, it will be closed.
Davide Selvaggio
02/25/2026, 9:53 AMWeny Xu
02/25/2026, 12:53 PMIs it discarded/ignored once failover has happened?Yes, it will be ignored once failover has occurred, even if the regional leader comes back online later.
guarantee that acknowledged writes are not lostWe have two types of WAL: 1. Local WAL (disk-based) 2. Remote WAL (Kafka-based) Only when using Remote WAL can we guarantee that acknowledged writes will not be lost. This is because the Local WAL maintains only a single copy on one datanode backed by EBS, and multi-attach is not supported. As a result, it does not provide redundancy. In contrast, the Remote WAL leverages a shared Kafka topic with multiple replicas across datanodes, ensuring redundancy and durability. Therefore, acknowledged writes are guaranteed not to be lost.
Davide Selvaggio
02/26/2026, 3:09 AMWeny Xu
02/26/2026, 7:16 AMDavide Selvaggio
02/26/2026, 9:39 AMWeny Xu
02/26/2026, 10:22 AMuntil the original datanode is back (or we manually migrate)Yes
and is that timing configurable (timeouts/heartbeats)?It depends on the heartbeat configuration. After 3 missed heartbeats plus a 1-second buffer, the region is considered failed. Typically, it takes about 10–30 seconds to complete a region failover. If the connection is hard-dropped, Detection may take longer, with an additional delay of around 10 seconds.
In the meantime, are writes to those regions rejectedYes. Writes will be rejected/failed during that time. The frontend does not automatically retry user writes, so your write agent needs to implement retry logic.
Davide Selvaggio
02/26/2026, 11:51 AMregion_failover is enabled, we have a partial write outage of ~10–30s (maybe more) until failover completes. Client requests are rejected (no automatic retry by frontend). More importantly, even if the original node comes back 2–5 minutes later, its local WAL is ignored. So with Local WAL, we can still have acknowledged write loss in this mode (EBS vs instance storage doesn’t change the “ignored” part), and the only way to guarantee “no acknowledged write loss” is Remote WAL (Kafka). Is that correct?
2/ If we don’t use region_failover, we avoid that specific loss mode, but we have a partial write outage for as long as it takes to bring the original node back (or until we manually migrate regions). If the node comes back, it can recover from its local WAL, which is why EBS matters here. Is that correct?
3/ Does this also mean we’ll experience partial write outage during node upgrades (instance size / GreptimeDB version), since writes to the regions hosted on that node would be rejected while it restarts? If so, in Kubernetes deployments, what’s the usual procedure (maintenance mode / suppress failover vs allow failover), and roughly how long does that write outage typically last in your experience?Weny Xu
02/27/2026, 2:48 AM1/Yes
2/Yes
node would be rejected while it restarts?Yes
what’s the usual procedure (maintenance mode / suppress failover vs allow failover), and roughly how long does that write outage typically last in your experience?For now, we recommend using maintenance mode. The write outage duration depends on the DataNode restart time and typically ranges from about 30 seconds to a few minutes.
Davide Selvaggio
02/27/2026, 4:19 AMWeny Xu
02/27/2026, 6:38 AMDavide Selvaggio
02/28/2026, 2:08 AMWeny Xu
03/02/2026, 6:16 AMDavide Selvaggio
03/02/2026, 9:29 AMWeny Xu
03/02/2026, 9:30 AMREAD_PREFERENCE option to control whether reads are directed to the leader or to followers. https://docs.greptime.com/enterprise/read-replicas/query-read-replicas/Davide Selvaggio
03/03/2026, 2:12 AMREAD_PREFERENCE = ‘leader’ a “preference” or a “strict rule"?Weny Xu
03/03/2026, 2:35 AM