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

Duo Zhang commented on HBASE-20146:
-----------------------------------

The approach is OK, and it is also good that you add a UT.

Some minor improvements on the UT:

1. The timeout will be set by the HBaseClassTestRule so usually we do not set 
timeout explicitly on a test method.
2. Do not need to catch the exception for starting mini cluster, just throw the 
exception out and the test will also fail.
3. Since there is only one test in the class, and you even use a rule to get 
the table name, we do not need to delete the table at last, so do not need a 
'try finally'. If you really want to delete the table then I suggest that you 
use @Before and @After to create and delete table.

Thanks.

> Regions are stuck while opening when WAL is disabled
> ----------------------------------------------------
>
>                 Key: HBASE-20146
>                 URL: https://issues.apache.org/jira/browse/HBASE-20146
>             Project: HBase
>          Issue Type: Bug
>          Components: wal
>    Affects Versions: 1.3.1
>            Reporter: Ashish Singhi
>            Assignee: Ashish Singhi
>            Priority: Critical
>             Fix For: 2.0.0, 3.0.0, 1.5.0, 1.2.7, 1.3.3, 1.4.3
>
>         Attachments: HBASE-20146.patch
>
>
> On a running cluster we had set {{hbase.regionserver.hlog.enabled}} to false, 
> to disable the WAL for complete cluster, after restarting HBase service, 
> regions are not getting opened leading to HMaster abort as Namespace table 
> regions are not getting assigned. 
> jstack for region open:
> {noformat}
> "RS_OPEN_PRIORITY_REGION-BLR1000006595:16045-1" #159 prio=5 os_prio=0 
> tid=0x00007fdfa4341000 nid=0x419d waiting on condition [0x00007fdfa0467000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0x0000000087554448> (a 
> java.util.concurrent.CountDownLatch$Sync)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
> at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
> at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
> at org.apache.hadoop.hbase.wal.WALKey.getWriteEntry(WALKey.java:98)
> at 
> org.apache.hadoop.hbase.regionserver.wal.WALUtil.writeMarker(WALUtil.java:131)
> at 
> org.apache.hadoop.hbase.regionserver.wal.WALUtil.writeRegionEventMarker(WALUtil.java:88)
> at 
> org.apache.hadoop.hbase.regionserver.HRegion.writeRegionOpenMarker(HRegion.java:1026)
> at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:6849)
> at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:6803)
> at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:6774)
> at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:6730)
> at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:6681)
> at 
> org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.openRegion(OpenRegionHandler.java:363)
> at 
> org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.process(OpenRegionHandler.java:129)
> at org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:129)
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> {noformat}
> This used to work with HBase 1.0.2 version.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to