Lokesh Khurana created PHOENIX-8024:
---------------------------------------
Summary: Expose public isHealthy() on HAGroupStoreClient /
HAGroupStoreManager
Key: PHOENIX-8024
URL: https://issues.apache.org/jira/browse/PHOENIX-8024
Project: Phoenix
Issue Type: Sub-task
Reporter: Lokesh Khurana
if HAGroupStoreClient loses its ZK watcher (CONNECTION_LOST /
CONNECTION_SUSPENDED), isHealthy flips to false in the Curator
ConnectionStateListener and the client stops receiving state events — but the
consumer's cached snapshot remains populated with the pre-loss value. The gate
then keeps trusting a stale view indefinitely until Curator reconnects and
delivers a fresh event.
Today the only way to observe isHealthy from outside the client is to call one
of the state-reading methods (getHAGroupStoreRecord, subscribeToTargetState,
etc.) and match on the "HAGroupStoreClient is not healthy" IOException string.
That is brittle (string-match) and requires triggering a side-effectful read
every tick.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)