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

Mohammad Arshad commented on HBASE-25371:
-----------------------------------------

Issue is because of sequence number is used before it is initialized

So one solution could be initialize the sequence number before all sanity 
checks checkCompression,  checkEncryption and checkClassLoading. But this is 
not appropriate as too many things are done during initialization, those 
validations must be done first.

 

Another point is, is it really required to write sequence id file when region 
open is failed. IMHO it is not required.

Sequence id file writing is skipped if close is called with abort flag true. *I 
think in case region open failed close should be called with abort flag true.*
{code:java}
} catch(Throwable t) {
 // By coprocessor path wrong region will open failed,
 // MetricsRegionWrapperImpl is already init and not close,
 // add region close when open failed
 this.close(true);
 throw t;
}{code}
 

 

> When openRegion fails during initial verification(before initializing and 
> setting seq num), exception is observed during region close.
> --------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-25371
>                 URL: https://issues.apache.org/jira/browse/HBASE-25371
>             Project: HBase
>          Issue Type: Bug
>          Components: Region Assignment
>    Affects Versions: 2.2.3
>            Reporter: Ajeet Rai
>            Assignee: Sanjeet Nishad
>            Priority: Major
>
> When openRegion fails during initial verification(before initializing and 
> setting seq num), exception is observed during region close:
>  
> 2020-12-03 16:34:47,133 ERROR 
> [RS_OPEN_REGION-regionserver/AAAAAAAAAA:16040-0] handler.OpenRegionHandler: 
> Failed open of 
> region=ns2:testtable4,00000000000000000000150000,1606912406234.cd386135276b7d3c57416df3666e4aea.2020-12-03
>  16:34:47,133 ERROR [RS_OPEN_REGION-regionserver/blrphispra01054:16040-0] 
> handler.OpenRegionHandler: Failed open of 
> region=ns2:testtable4,00000000000000000000150000,1606912406234.cd386135276b7d3c57416df3666e4aea.java.io.IOException:
>  The new max sequence id 1 is less than the old max sequence id 7134 at 
> org.apache.hadoop.hbase.wal.WALSplitUtil.writeRegionSequenceIdFile(WALSplitUtil.java:418)
>  at 
> org.apache.hadoop.hbase.regionserver.HRegion.writeRegionCloseMarker(HRegion.java:1253)
>  at org.apache.hadoop.hbase.regionserver.HRegion.doClose(HRegion.java:1793) 
> at org.apache.hadoop.hbase.regionserver.HRegion.close(HRegion.java:1606) at 
> org.apache.hadoop.hbase.regionserver.HRegion.close(HRegion.java:1552) at 
> org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:7522) 
> at 
> org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:7467) 
> at 
> org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:7439) 
> at 
> org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:7397) 
> at 
> org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:7348) 
> at 
> org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.openRegion(OpenRegionHandler.java:286)
>  at 
> org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.process(OpenRegionHandler.java:111)
>  at org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:104) 
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>  at java.lang.Thread.run(Thread.java:748)
>  



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

Reply via email to