[ https://issues.apache.org/jira/browse/HBASE-19304?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gavin updated HBASE-19304: -------------------------- Comment: was deleted (was: A comment with security level 'jira-users' was removed.) > KEEP_DELETED_CELLS should ignore case > -------------------------------------- > > Key: HBASE-19304 > URL: https://issues.apache.org/jira/browse/HBASE-19304 > Project: HBase > Issue Type: Bug > Components: regionserver > Affects Versions: 2.0.0-alpha-4 > Reporter: Sergey Soldatov > Assignee: Sergey Soldatov > Priority: Blocker > Fix For: 2.0.0-beta-1, 2.0.0 > > Attachments: HBASE-19304-v1.patch > > > Since HBASE-12363 we start using an enum instead of boolean for > keep_deleted_cells. In ColumnFamilyDescriptorBuilder we are using valueOf to > find out the value of the property. But there is a problem: all values in > ENUM are uppercase, so if we provide the value in lowercase (and java Boolean > returns it in lowercase in toString), the table creation may fail with an > exception: > {code} > java.io.IOException: java.lang.IllegalArgumentException: No enum constant > org.apache.hadoop.hbase.KeepDeletedCells.true > at > org.apache.hadoop.hbase.regionserver.HRegion.initializeStores(HRegion.java:1028) > at > org.apache.hadoop.hbase.regionserver.HRegion.initializeRegionInternals(HRegion.java:891) > at > org.apache.hadoop.hbase.regionserver.HRegion.initialize(HRegion.java:859) > at > org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:6966) > at > org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:6923) > at > org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:6894) > at > org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:6850) > at > org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:6801) > at > org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.openRegion(OpenRegionHandler.java:285) > at > org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.process(OpenRegionHandler.java:110) > 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.IllegalArgumentException: No enum constant > org.apache.hadoop.hbase.KeepDeletedCells.true > at java.lang.Enum.valueOf(Enum.java:238) > at > org.apache.hadoop.hbase.KeepDeletedCells.valueOf(KeepDeletedCells.java:30) > at > org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder$ModifyableColumnFamilyDescriptor.lambda$getStringOrDefault$23(ColumnFamilyDescriptorBuilder.java:719) > at > org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder$ModifyableColumnFamilyDescriptor.getOrDefault(ColumnFamilyDescriptorBuilder.java:727) > at > org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder$ModifyableColumnFamilyDescriptor.getStringOrDefault(ColumnFamilyDescriptorBuilder.java:719) > at > org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder$ModifyableColumnFamilyDescriptor.getKeepDeletedCells(ColumnFamilyDescriptorBuilder.java:901) > at > org.apache.hadoop.hbase.regionserver.ScanInfo.<init>(ScanInfo.java:69) > at org.apache.hadoop.hbase.regionserver.HStore.<init>(HStore.java:265) > at > org.apache.hadoop.hbase.regionserver.HRegion.instantiateHStore(HRegion.java:5485) > at > org.apache.hadoop.hbase.regionserver.HRegion$1.call(HRegion.java:992) > at > org.apache.hadoop.hbase.regionserver.HRegion$1.call(HRegion.java:989) > 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) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)