Rohan Pednekar created HBASE-20723:

             Summary: WALSplitter uses the rootDir, which is walDir, as the 
tableDir root path.
                 Key: HBASE-20723
             Project: HBase
          Issue Type: Bug
          Components: hbase
    Affects Versions: 1.1.2
            Reporter: Rohan Pednekar

This is an Azure HDInsight HBase cluster with HDP 2.6. and HBase 

By default the underlying data is going to wasb://xxxxx@yyyyy/hbase 
I tried to move WAL folders to HDFS, which is the SSD mounted on each VM at 

hbase.wal.dir= hdfs://mycluster/walontest




Procedure to reproduce this issue:

1. create a table in hbase shell

2. insert a row in hbase shell

3. reboot the VM which hosts that region

4. scan the table in hbase shell and it is empty

Looking at the region server logs:


2018-06-12 22:08:40,455 INFO  [RS_LOG_REPLAY_OPS-wn2-duohba:16020-0-Writer-1] 
wal.WALSplitter: This region's directory doesn't exist: 
It is very likely that it was already split so it's safe to discard those edits.


The log split/replay ignored actual WAL due to WALSplitter is looking for the 
region directory in the hbase.wal.dir we specified rather than the 

Looking at the source code,
 it uses the rootDir, which is walDir, as the tableDir root path.

So if we use HBASE-17437, waldir and hbase rootdir are in different path or 
even in different filesystem, then the #5 uses walDir as tableDir is apparently 

CC: [~zyork], [] Attached the logs for quick review.

This message was sent by Atlassian JIRA

Reply via email to