Sanjeet Malhotra created HBASE-30165:
----------------------------------------

             Summary: 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: Improvement
          Components: Client
            Reporter: Sanjeet Malhotra


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

Reply via email to