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

Caroline Zhou updated HBASE-25815:
----------------------------------
    Summary: Backport "HBASE-21700 Simplify the implementation of 
RSGroupInfoManagerImpl" to branch-1  (was: RSGroupBasedLoadBalancer online 
status never updates after being set to true for the first time)

> Backport "HBASE-21700 Simplify the implementation of RSGroupInfoManagerImpl" 
> to branch-1
> ----------------------------------------------------------------------------------------
>
>                 Key: HBASE-25815
>                 URL: https://issues.apache.org/jira/browse/HBASE-25815
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Caroline Zhou
>            Assignee: Caroline Zhou
>            Priority: Minor
>
> Once the RSGroupBasedLoadBalancer is “online” (it has found the hbase:meta 
> and hbase:rsgroup tables), it will never update the status again. That means 
> if hbase:meta or hbase:rsgroup ever go offline, the balancer doesn’t update 
> its status to “offline,” so some of the code paths will go through the 
> “online” code path even though the catalog tables aren’t available to be read 
> from or written to (in particular, anything that calls 
> RSGroupInfoManagerImpl#flushConfig).
> Also, in the RSGroupInfoManagerImpl#flushConfig code path, the call to write 
> to hbase:rsgroup comes before the update to the rsGroupMap and tableMap which 
> are stored in memory (see order of [these lines of 
> code|https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupInfoManagerImpl.java#L664-L670]),
>  so if hbase:rsgroup goes offline after the RSGroupBasedLoadBalancer is 
> already marked as “online,” exceptions thrown while trying to write to an 
> offline hbase:rsgroup table prevent the in-memory rsGroupMap and tableMap 
> from being updated. In terms of the order just mentioned, in-memory state 
> should be updated first.
> Seems to be addressed by HBASE-21700



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to