Bug: HBaseTestingUtility failed to start MiniHbaseCluster in case of Hadoop3.3.1
Status: Resolved | Priority: Major | Resolution: Fixed
Created: 03/Sep/23 12:35

Note: My test env is *Hadoop3.3.1* & Hbase2.5.5-hadoop3. And if I switch to *Hadoop3.1.4* or \{*}Hadoop3.2.4{*}, the test will be ok. I attached the source code and pom file.

 

I just want to use *HBaseTestingUtility::startMiniHBaseCluster* to launch a mini hbase cluster in case of Hadoop.3.3.1, but failed with the following exception:
{code:java}
master.HMaster (MarkerIgnoringBase.java:error(159)) - Failed to become active master
org.apache.hadoop.hbase.FailedCloseWALAfterInitializedErrorException: Failed close after init wal failed.
    at org.apache.hadoop.hbase.wal.AbstractFSWALProvider.getWAL(AbstractFSWALProvider.java:167)
    at org.apache.hadoop.hbase.wal.AbstractFSWALProvider.getWAL(AbstractFSWALProvider.java:62)
    at org.apache.hadoop.hbase.wal.WALFactory.getWAL(WALFactory.java:300)
    at org.apache.hadoop.hbase.master.region.MasterRegion.createWAL(MasterRegion.java:217)
    at org.apache.hadoop.hbase.master.region.MasterRegion.bootstrap(MasterRegion.java:240)
    at org.apache.hadoop.hbase.master.region.MasterRegion.create(MasterRegion.java:398)
    at org.apache.hadoop.hbase.master.region.MasterRegionFactory.create(MasterRegionFactory.java:132)
    at org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:942)
    at org.apache.hadoop.hbase.master.HMaster.startActiveMasterManager(HMaster.java:2405)
    at org.apache.hadoop.hbase.master.HMaster.lambda$null$0(HMaster.java:565)
    at org.apache.hadoop.hbase.trace.TraceUtil.trace(TraceUtil.java:187)
    at org.apache.hadoop.hbase.trace.TraceUtil.trace(TraceUtil.java:177)
    at org.apache.hadoop.hbase.master.HMaster.lambda$run$1(HMaster.java:562)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: java.lang.NullPointerException
    at org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.shutdown(AbstractFSWAL.java:1012)
    at org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.close(AbstractFSWAL.java:1039)
    at org.apache.hadoop.hbase.wal.AbstractFSWALProvider.getWAL(AbstractFSWALProvider.java:165)
    ... 13 more
Caused by: java.lang.NullPointerException
    at java.util.concurrent.ConcurrentHashMap.putVal(ConcurrentHashMap.java:1011)
    at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:1006)
    at org.apache.hadoop.hbase.regionserver.wal.AsyncFSWAL.closeWriter(AsyncFSWAL.java:718)
    at org.apache.hadoop.hbase.regionserver.wal.AsyncFSWAL.doShutdown(AsyncFSWAL.java:775)
    at org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL$2.call(AbstractFSWAL.java:984)
    at org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL$2.call(AbstractFSWAL.java:979)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    ... 1 more {code}
Does that mean Hbase2.5.5-hadoop3 not be compatible with Hadoop3.3.1? Or only the integration testing is not work well with Hadoop3.3.1?