[
https://issues.apache.org/jira/browse/HBASE-30165?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sanjeet Malhotra updated HBASE-30165:
-------------------------------------
Issue Type: Bug (was: Improvement)
> AsyncRegionLocationCache.add() drops sibling replicas when caching one
> HRegionLocation at a time — addLocationToCache(HRegionLocation) corrupts
> multi-replica entries
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-30165
> URL: https://issues.apache.org/jira/browse/HBASE-30165
> Project: HBase
> Issue Type: Bug
> Components: Client
> Reporter: Sanjeet Malhotra
> Priority: Major
>
> *Summary*
>
>
> {{AsyncNonMetaRegionLocator#addLocationToCache(HRegionLocation)}} corrupts
> the
> client-side region location cache for any table with REGION_REPLICATION >
> 1.
> When the same primary region's replicas are added one at a time (e.g. once
> per
> meta row), each addition silently *replaces* the previously cached
> multi-replica
> entry with a single-replica entry, leaving only the last-added replica
> visible
> to subsequent lookups.
>
>
>
> *Symptom*
>
>
> After a series of {{addLocationToCache(replica0)}},
> {{addLocationToCache(replica1)}},
> {{addLocationToCache(replica2)}} on the same primary region, the cache
> contains
> only {{[null, null, replica2]}} (or whichever was added last) instead of
> the
> expected {{[replica0, replica1, replica2]}}.
>
>
>
> This breaks any future cache hit for the lower-replica IDs of that region,
> and
> any cache-warming path that adds replicas individually.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)