[
https://issues.apache.org/jira/browse/PHOENIX-7995?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrew Kyle Purtell updated PHOENIX-7995:
-----------------------------------------
Fix Version/s: PHOENIX-7562-feature
5.4.0
> Tag client-side HA metrics with the HA group and add missing HA/CRR/failover
> client metrics on the ZK-less HA client
> --------------------------------------------------------------------------------------------------------------------
>
> Key: PHOENIX-7995
> URL: https://issues.apache.org/jira/browse/PHOENIX-7995
> Project: Phoenix
> Issue Type: Sub-task
> Reporter: Lokesh Khurana
> Assignee: Lokesh Khurana
> Priority: Major
> Fix For: PHOENIX-7562-feature, 5.4.0
>
>
> Client-side HA/CRR/failover metrics are currently emitted JVM-global only, so
> a JVM connected to more than one HA group cannot attribute a metric to the
> group that produced it. The server side already solves this with an ha_group
> metrics2 tag on the HAGroupStore / replication-log sources (apache/phoenix
> #2606). This ticket brings the same treatment to the client, and fills in
> client-side HA observability that the ZK-less HA client is currently missing.
> h2. Part 1 – Per-HA-group tagging
> Emit the group-attributable client HA metrics through a per-group Hadoop
> Metrics2 source that stamps an ha_group tag (value = the HA group name), so
> the series can be sliced per group – mirroring the server-side ha_group tag
> mechanism. The existing JVM-global counters remain unchanged (dual-emit); a
> per-group source registers under a distinct JMX context/MBean and is detached
> on HA-group close.
> h2. Part 2 – Additional client-side HA/CRR/failover metrics
> Add the following client counters, applying only those relevant to a ZK-less
> client:
> - Failover connections: created, failed.
> - CRR lifecycle: transition count, transition duration (ms),
> stale-CRR-detected,
> CRR-deserialize-failure, CRR-refresh/notification count. On the ZK-less
> client these are driven by the master-endpoint CRR fetch / reconcile path
> rather than a ZooKeeper node-cache notification, so the emission points
> differ from the ZK-based client – semantics adapted accordingly.
> - Role-transition failed.
> - Parallel-connection policy: fallback, created, error, task-timeout.
> - CRR-missing-fallback (JVM-global; fires on the static path before any
> group instance exists).
> h2. Notes
> - These observability gaps were identified while adding the equivalent
> metrics to the ZooKeeper-based HA client; this ticket ports the applicable
> subset to the ZK-less client.
> - A shared tag-name constant should live in a module-neutral metrics package
> so client and server reference the same ha_group tag key.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)