[
https://issues.apache.org/jira/browse/PHOENIX-8024?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lokesh Khurana reassigned PHOENIX-8024:
---------------------------------------
Assignee: (was: Lokesh Khurana)
> 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
> Priority: Major
>
> 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)