Kadir Ozdemir created PHOENIX-7562:
--------------------------------------

             Summary: Phoenix HA Rearchitecture for Consistent Failover
                 Key: PHOENIX-7562
                 URL: https://issues.apache.org/jira/browse/PHOENIX-7562
             Project: Phoenix
          Issue Type: Improvement
            Reporter: Kadir Ozdemir


Phoenix clusters can be deployed in pairs for improved availability using the 
Dual Cluster Client (Phoenix HA) feature. The current HA architecture utilizes 
two Phoenix clusters and mutations on one cluster are asynchronously replicated 
to the other using HBase asynchronous replication, and accessed via the dual 
cluster client. However, asynchronous replication can result in clients 
temporarily missing recent writes during unplanned failovers, violating 
Phoenix's strong consistency guarantee.

To address this potential data loss issue, we propose to synchronously log 
mutations to a set of HDFS files in the standby cluster and then apply them to 
Phoenix asynchronously. This synchronous logging, that is, synchronous 
replication of mutations, will be optimized for Phoenix and implemented at the 
Phoenix level.

Additionally, the Zookeeper dependency will be removed from the Phoenix dual 
cluster client code by moving HA cluster record watching and caching to the 
server side. The main goals of these changes are to provide consistent and fast 
failover in seconds, and a Zookeeper-less client. These goals will reshape the 
Phoenix HA architecture.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to