Details
-
Test
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
Description
I noticed the following when running TestHBCKCommandLineParsing#testCommandWithOptions :
"main" #1 prio=5 os_prio=31 tid=0x00007f851c800000 nid=0x1703 waiting on condition [0x0000700000216000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x000000076d3055d8> (a java.util.concurrent.CompletableFuture$Signaller) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1693) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3323) at java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1729) at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895) at org.apache.hadoop.hbase.client.ConnectionImplementation.retrieveClusterId(ConnectionImplementation.java:564) at org.apache.hadoop.hbase.client.ConnectionImplementation.<init>(ConnectionImplementation.java:297) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.apache.hadoop.hbase.client.ConnectionFactory.lambda$createConnection$0(ConnectionFactory.java:229) at org.apache.hadoop.hbase.client.ConnectionFactory$$Lambda$11/502838712.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:422) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1686) at org.apache.hadoop.hbase.security.User$SecureHadoopUser.runAs(User.java:347) at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:227) at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:127) at org.apache.hbase.HBCK2.checkHBCKSupport(HBCK2.java:93) at org.apache.hbase.HBCK2.run(HBCK2.java:352) at org.apache.hbase.TestHBCKCommandLineParsing.testCommandWithOptions(TestHBCKCommandLineParsing.java:62)
The test doesn't spin up hbase cluster.
Hence the call to check hbck support hangs.
In HBCK2#run, we can refactor the code such that argument parsing is done prior to calling HBCK2#checkHBCKSupport .