Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
2.2.2
-
None
-
None
-
HDP-3.1.0
Description
We can reproduce this issue as follows:
create 'test', "f", {METADATA => {'hbase.regionserver.region.split.policy' => 'UNDEFINED'}}
After running this, creating table will get stuck. And it looks like this is because opening region fails with ClassNotFoundException:
2019-12-16 06:45:03,671 ERROR [RS_OPEN_REGION-regionserver/c126-node2:16020-17] handler.OpenRegionHandler: Failed open of region=test,,1576477039045.7435965ddb2229c62d926b3ee963dcf3. java.io.IOException: Unable to load configured region split policy 'UNDEFINED' for table 'test' at org.apache.hadoop.hbase.regionserver.RegionSplitPolicy.getSplitPolicyClass(RegionSplitPolicy.java:132) at org.apache.hadoop.hbase.regionserver.HRegion.checkClassLoading(HRegion.java:7162) at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:7083) at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:7043) at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:7015) at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:6973) at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:6924) at org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.openRegion(OpenRegionHandler.java:283) at org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.process(OpenRegionHandler.java:108) at org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:104) 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) Caused by: java.lang.ClassNotFoundException: UNDEFINED at java.net.URLClassLoader.findClass(URLClassLoader.java:381) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at org.apache.hadoop.hbase.regionserver.RegionSplitPolicy.getSplitPolicyClass(RegionSplitPolicy.java:127) ... 12 more
We should have sanity checks for the properties specified in METADATA.
Attachments
Issue Links
- links to