You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Junegunn Choi (JIRA)" <ji...@apache.org> on 2019/06/03 05:06:00 UTC
[jira] [Created] (HBASE-22529) Sanity check for in-memory
compaction policy
Junegunn Choi created HBASE-22529:
-------------------------------------
Summary: Sanity check for in-memory compaction policy
Key: HBASE-22529
URL: https://issues.apache.org/jira/browse/HBASE-22529
Project: HBase
Issue Type: Bug
Affects Versions: 2.1.4
Reporter: Junegunn Choi
Currently, if a column family is altered with an invalid in-memory compaction policy via {{Admin}} API, the regions for the table get stuck indefinitely.
{noformat}
Failed open of region=######
java.io.IOException: java.lang.IllegalArgumentException: No enum constant org.apache.hadoop.hbase.MemoryCompactionPolicy.INVALID
at org.apache.hadoop.hbase.regionserver.HRegion.initializeStores(HRegion.java:1081)
at org.apache.hadoop.hbase.regionserver.HRegion.initializeRegionInternals(HRegion.java:942)
at org.apache.hadoop.hbase.regionserver.HRegion.initialize(HRegion.java:898)
at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:7241)
at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:7200)
at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:7172)
at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:7130)
at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:7081)
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:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException: No enum constant org.apache.hadoop.hbase.MemoryCompactionPolicy.INVALID
at java.lang.Enum.valueOf(Enum.java:238)
at org.apache.hadoop.hbase.MemoryCompactionPolicy.valueOf(MemoryCompactionPolicy.java:26)
at org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder$ModifyableColumnFamilyDescriptor.lambda$getInMemoryCompaction$4(ColumnFamilyDescriptorBuilder.java:869)
at org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder$ModifyableColumnFamilyDescriptor.lambda$getStringOrDefault$0(ColumnFamilyDescriptorBuilder.java:703)
at org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder$ModifyableColumnFamilyDescriptor.getOrDefault(ColumnFamilyDescriptorBuilder.java:711)
at org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder$ModifyableColumnFamilyDescriptor.getStringOrDefault(ColumnFamilyDescriptorBuilder.java:703)
at org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder$ModifyableColumnFamilyDescriptor.getInMemoryCompaction(ColumnFamilyDescriptorBuilder.java:868)
at org.apache.hadoop.hbase.regionserver.HStore.getMemstore(HStore.java:350)
at org.apache.hadoop.hbase.regionserver.HStore.<init>(HStore.java:278)
at org.apache.hadoop.hbase.regionserver.HRegion.instantiateHStore(HRegion.java:5728)
at org.apache.hadoop.hbase.regionserver.HRegion$1.call(HRegion.java:1045)
at org.apache.hadoop.hbase.regionserver.HRegion$1.call(HRegion.java:1042)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
... 3 more
{noformat}
This patch adds a sanity check for the value so that such alter operation should not proceed.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)