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)