You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Andrew Kyle Purtell (Jira)" <ji...@apache.org> on 2026/10/09 21:19:00 UTC

[jira] [Updated] (PHOENIX-7983) Key ReplicationLogGroup cache on (port, startcode) instead of host-inclusive ServerName

     [ https://issues.apache.org/jira/browse/PHOENIX-7983?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Kyle Purtell updated PHOENIX-7983:
-----------------------------------------
    Fix Version/s: PHOENIX-7562-feature
                   5.4.0

> Key ReplicationLogGroup cache on (port, startcode) instead of host-inclusive ServerName
> ---------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-7983
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-7983
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: Tanuj Khurana
>            Assignee: Tanuj Khurana
>            Priority: Major
>             Fix For: PHOENIX-7562-feature, 5.4.0
>
>
> The INSTANCES cache in ReplicationLogGroup is keyed on serverName.getServerName() + "|" + haGroupName, where getServerName() includes the hostname. The same physical RegionServer can be observed under two ServerName spellings that differ only in host:
>   - a declared FQDN (from hbase.unsafe.regionserver.hostname), and
>   - the pod IP the master hands back at reportForDuty when reverse-DNS is enabled.
> Different coprocessor environments surface different spellings for the same server — the prewarm path (PhoenixRegionServerEndpoint) versus the write path (IndexRegionObserver). As a result, one logical replication group was split into two independent ReplicationLogGroup instances, each with its own Disruptor and sequence counter, for a single RegionServer.
> Fix
> Key the cache on (port, startcode), which excludes the host. This is a safe discriminator:
>  - Two distinct live RegionServers can never share a port on the same host at the same time, so mini-cluster ITs running several RegionServers in one JVM stay distinct (each binds its own ephemeral port).
> - The single-RS production/kind case collapses the FQDN/IP spellings into one entry.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)