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

Tanuj Khurana resolved PHOENIX-7983.
------------------------------------
    Resolution: Fixed

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

Reply via email to