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)