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

Toshihiro Suzuki edited comment on HBASE-22529 at 10/10/19 1:36 PM:
--------------------------------------------------------------------

It looks like the patch is needed to be rebased. [~junegunn]


was (Author: brfrn169):
It looks like the patch is needed to be rebase. [~junegunn]

> 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
>            Assignee: Junegunn Choi
>            Priority: Minor
>         Attachments: HBASE-22529-v2.patch, HBASE-22529.patch
>
>
> 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
(v8.3.4#803005)

Reply via email to