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