[ 
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)

Reply via email to