[ 
https://issues.apache.org/jira/browse/HBASE-15632?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15235673#comment-15235673
 ] 

Matteo Bertozzi commented on HBASE-15632:
-----------------------------------------

In HBASE-13145 the check was added because the test was creating the table 
without families, which was later fixed by HBASE-15456.

lastStoreFlushTimeMap should contains at least 1 value (N families) after 
HRegion.initialize()
the PeriodicMemstoreFlusher should only run on the region, if the region is 
marked online. 
region online should happen after HRegion.initialize() is called.

so, I'm +1 on removing it. we should remove that check and avoid to hide the 
problem if there is any case where we add the region to the online servers 
before calling initialize()

> Undo the checking of lastStoreFlushTimeMap.isEmpty() introduced in HBASE-13145
> ------------------------------------------------------------------------------
>
>                 Key: HBASE-15632
>                 URL: https://issues.apache.org/jira/browse/HBASE-15632
>             Project: HBase
>          Issue Type: Improvement
>          Components: regionserver
>    Affects Versions: 2.0.0
>            Reporter: huaxiang sun
>            Assignee: huaxiang sun
>            Priority: Minor
>
> HBASE-13145 introduce the following check
> {code}
> diff --git 
> a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
>  
> b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
> index 215069c..8f73af5 100644
> --- 
> a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
> +++ 
> b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
> @@ -1574,7 +1574,8 @@ public class HRegion implements HeapSize, 
> PropagatingConfigurationObserver { //
>     */
>    @VisibleForTesting
>    public long getEarliestFlushTimeForAllStores() {
> -    return Collections.min(lastStoreFlushTimeMap.values());
> +    return lastStoreFlushTimeMap.isEmpty() ? Long.MAX_VALUE : 
> Collections.min(lastStoreFlushTimeMap
> +        .values());
>    }
>  {code}
> I think the reason for the check is that table creation without family is 
> allowed before HBASE-15456. With HBASE-15456, table creation without family 
> is not allowed. We have one user claimed that they run into the same 
> HRegionServer$PeriodicMemstoreFlusher exception, and the table was created 
> with family. The log was not kept so could not find more info there.  By 
> checking the code, it seems impossible. Can we undo this check so the real 
> issue is not hidden in case there is one, [~Apache9]?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to