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

Hernan Gelaf-Romer updated HBASE-29265:
---------------------------------------
    Description: 
Somewhat related to https://issues.apache.org/jira/browse/HBASE-27487

 
In HBase 2.X, the AsyncRequestFutureImpl will clear the meta cache if it 
receives a batch call that fails to execute. When AsyncRequestFutureImpl 
receives an exception from a multi call, it will call receiveGlobalFailure and 
force a meta cache clear, even if the exception received does not usually 
trigger meta cache clears. 

 

This can cause issues on HBase clusters that are currently overloaded. If a 
server is overloaded, it can force clients to repeatedly clear meta cache, 
causing a meta hotspot, which further slows down queries. I'm not entirely sure 
why we force meta cache clears, but I think we should exempt exceptions that 
indicate that a server is overloaded from clearing the meta cache. 

 

I'm also open to only clearing the meta cache if the exception received is a 
cache clearing exception, but I'd need to make sure this doesn't invalidate 
some assumptions made when the code was first written.

  was:
Somewhat related to https://issues.apache.org/jira/browse/HBASE-27487

 
In HBase 2.X, the AsyncRequestFutureImpl will clear the meta cache if it 
receives 


> Batch calls to overloaded cluster can cause meta hotspotting
> ------------------------------------------------------------
>
>                 Key: HBASE-29265
>                 URL: https://issues.apache.org/jira/browse/HBASE-29265
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Hernan Gelaf-Romer
>            Assignee: Hernan Gelaf-Romer
>            Priority: Major
>              Labels: pull-request-available
>
> Somewhat related to https://issues.apache.org/jira/browse/HBASE-27487
>  
> In HBase 2.X, the AsyncRequestFutureImpl will clear the meta cache if it 
> receives a batch call that fails to execute. When AsyncRequestFutureImpl 
> receives an exception from a multi call, it will call receiveGlobalFailure 
> and force a meta cache clear, even if the exception received does not usually 
> trigger meta cache clears. 
>  
> This can cause issues on HBase clusters that are currently overloaded. If a 
> server is overloaded, it can force clients to repeatedly clear meta cache, 
> causing a meta hotspot, which further slows down queries. I'm not entirely 
> sure why we force meta cache clears, but I think we should exempt exceptions 
> that indicate that a server is overloaded from clearing the meta cache. 
>  
> I'm also open to only clearing the meta cache if the exception received is a 
> cache clearing exception, but I'd need to make sure this doesn't invalidate 
> some assumptions made when the code was first written.



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

Reply via email to