You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Lokesh Khurana (Jira)" <ji...@apache.org> on 2026/10/13 17:30:00 UTC

[jira] [Assigned] (PHOENIX-8024) Expose public isHealthy() on HAGroupStoreClient / HAGroupStoreManager

     [ 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)